@app.errorhandler()
не регистрирует обычный просмотр.Регистрирует обработчик ошибок .Обработчикам ошибок передается объект ошибки, поэтому они могут определить, как лучше создать альтернативное представление.Из документации:
Обработчик ошибок - это функция, которая возвращает ответ при возникновении типа ошибки, аналогично тому, как представление является функцией, которая возвращает ответ при совпадении URL-адреса запроса. Передается экземпляр обрабатываемой ошибки , который, скорее всего, HTTPException
.
(выделено жирным шрифтом)
Вы не можете найти эту информацию об ошибке на объекте request
, потому что подобные ошибки вызваны обычным представлением, обрабатывающим текущий запрос, выдающим ошибку.
Обычный путь:
- Запрос приходит
- Flask находит правильное представление для запуска и вызывает его
- Представление обнаруживает проблему и вызывает ошибку 404 not found, вызывая
abort(404)
- Flask находит соответствующий обработчик ошибок и вызывает его с объектом ошибки .
- Ответ обработчика ошибок отправляется обратно в браузер.