Метод errorhandler
Метод errorhandler применяется к приложению
Flask и вешает функцию на определённый код ошибки
или класс исключения. Первым параметром передаётся
код ошибки или класс исключения. После возникновения
ошибки Flask вызывает функцию и возвращает её результат.
Синтаксис
@app.errorhandler(code_or_exception)
Пример
Давайте повесим обработчик на ошибку 404:
from flask import Flask
app = Flask(__name__)
@app.errorhandler(404)
def page_not_found(error):
return 'page not found', 404
Результат выполнения кода для несуществующего адреса:
page not found
Пример
Давайте повесим обработчик на класс исключения:
from flask import Flask
app = Flask(__name__)
@app.errorhandler(ZeroDivisionError)
def handle_zero_division(error):
return 'division by zero', 500
Результат выполнения кода при делении на ноль:
division by zero
Пример
Давайте передадим объект ошибки в обработчик и выведем его описание:
from flask import Flask
app = Flask(__name__)
@app.errorhandler(404)
def page_not_found(error):
return f'error: {error}', 404
Результат выполнения кода для несуществующего адреса:
error: 404 Not Found: The requested URL was not found on the server.
Смотрите также
-
метод
register_error_handler,
который регистрирует обработчик ошибки без декоратора -
метод
route,
который регистрирует функцию-обработчик для URL -
метод
before_request,
который выполняет функцию перед каждым запросом -
метод
after_request,
который выполняет функцию после каждого запроса