Учитывая этот простой код бутылки:Бутылочное промежуточное программное обеспечение для исключения исключений определенного типа?
def bar(i):
if i%2 == 0:
return i
raise MyError
@route('/foo')
def foo():
try:
return bar()
except MyError as e:
response.status_code = e.pop('status_code')
return e
Как бы одна запись бутылки промежуточного слоя так же обработка исключений выполняется неявно, так что код, как это может работать одинаково выше:
@route('/foo')
def foo():
return bar()
Не могли бы вы просто не получить ваше исключение из bottle.HTTPОтказать с типом исключения, затем делать подходящую вещь, чтобы начать с или является источником вашего исключения, а не частью вашего веб-приложения и, следовательно, не зависит от бутылки? –
Исключение выбрасывается из независимой библиотеки; Бутылка - это только один интерфейс. – stackoverflowuser95
Достаточно ли [Плагин для бутылок] (http://bottlepy.org/docs/dev/plugindev.html)? –