Исключение BottleException
Исключение BottleException - это базовый класс для всех исключений,
которые могут возникать внутри фреймворка Bottle. Оно наследуется
от встроенного класса Exception и служит основой для более
специфичных исключений, таких как HTTPError, RouteReset
и PluginError. Благодаря общему предку все ошибки Bottle
можно перехватывать одним блоком except.
Исключение не принимает обязательных параметров при создании,
однако, как и любое исключение Python, может принимать
произвольное сообщение первым аргументом. Атрибут args
содержит кортеж переданных аргументов.
Синтаксис
raise BottleException(message)
Пример
Давайте перехватим исключение BottleException при вызове
несуществующего маршрута:
from bottle import Bottle, BottleException
app = Bottle()
@app.route('/')
def index():
return 'hello'
try:
app.match('/missing')
except BottleException as e:
res = type(e).__name__
Результат выполнения кода:
"HTTPError"
Пример
Давайте явно выбросим исключение BottleException
и перехватим его:
from bottle import Bottle, BottleException
app = Bottle()
@app.route('/')
def index():
try:
raise BottleException('abcde')
except BottleException as e:
return e.args[0]
Результат выполнения кода для адреса /:
abcde
Пример
Давайте перехватим ошибку через декоратор error
приложения Bottle:
from bottle import Bottle, BottleException
app = Bottle()
@app.error(BottleException)
def handle(error):
return 'article'
@app.route('/')
def index():
raise BottleException()
Результат выполнения кода для адреса /:
article
Смотрите также
-
исключение
HTTPError,
которое представляет HTTP-ошибку -
исключение
RouteReset,
которое перезапускает обработку маршрута -
исключение
PluginError,
которое сигнализирует об ошибке плагина -
атрибут
status,
который хранит HTTP-статус ошибки