Исключение PluginError
Исключение PluginError наследуется от класса BottleException и вызывается в случаях, когда плагин не может быть корректно применён к маршруту или приложению. Первым параметром передаётся сообщение об ошибке, которое описывает причину сбоя.
Синтаксис
raise PluginError(message)
Пример
Давайте создадим простой плагин, который намеренно вызывает исключение PluginError при попытке применения:
from bottle import Bottle, PluginError
class MyPlugin:
def apply(self, callback, route):
raise PluginError('Plugin cannot be applied to this route')
app = Bottle()
app.install(MyPlugin())
@app.route('/')
def index():
return 'hello'
app.run()
В результате при запуске сервера будет выброшено исключение:
PluginError: Plugin cannot be applied to this route
Пример
Давайте обработаем исключение PluginError с помощью блока try/except и выведем понятное сообщение:
from bottle import Bottle, PluginError
class StrictPlugin:
def apply(self, callback, route):
raise PluginError('Route is not compatible with StrictPlugin')
app = Bottle()
try:
app.install(StrictPlugin())
except PluginError as error:
print('Error:', error)
Результат выполнения кода:
Error: Route is not compatible with StrictPlugin
Смотрите также
-
класс
HTTPError,
который представляет HTTP-ошибку -
класс
BottleException,
базовый класс всех исключений Bottle -
класс
RouteReset,
который сбрасывает маршрут при изменении конфигурации -
атрибут
exception,
который хранит исходное исключение