Мне удалось это решить, и это довольно просто, когда я перешел от всего в одном скрипте к использованию чертежей и создал модуль обработки ошибок, который, как мне показалось, мне нужно было использовать в названии модуля в имени:
@mod_error.errorhandler(404)
Причина этого заключается в том, что именно так я и сделал в своем контроллере для своей пользовательской функции:
@mod_user.route('/read', methods=['POST', 'GET'])
Ниже приведено то, что янеобходимо сделать, то есть импортировать объект моего приложения, а затем использовать его для функций обработчика ошибок:
import traceback
from flask import Flask, render_template, Blueprint
from .. import app
mod_error = Blueprint('error', __name__, template_folder='templates')
@app.errorhandler(404)
def not_found(e):
print(e)
return render_template('404.html')
@app.errorhandler(Exception)
def general_exception(e):
print(e)
print(traceback.format_exc())
return render_template('error.html')
Теперь это обрабатывает все ошибки на глобальном уровне вне любого из моих пакетов функций, которых я хотел достичьэффект ControllerAdvice
, который обрабатывает все исключения для всех контроллеров в Spring MVC.