aboutsummaryrefslogtreecommitdiff
path: root/qc_app/errors.py
diff options
context:
space:
mode:
Diffstat (limited to 'qc_app/errors.py')
-rw-r--r--qc_app/errors.py11
1 files changed, 10 insertions, 1 deletions
diff --git a/qc_app/errors.py b/qc_app/errors.py
index 1ce0d1f..bcd3543 100644
--- a/qc_app/errors.py
+++ b/qc_app/errors.py
@@ -13,8 +13,17 @@ def handle_general_exception(exc: Exception):
exc.__class__.__module__, exc.__class__.__name__, request.url, trace)
return render_template("unhandled_exception.html", trace=trace)
+def handle_http_exception(exc: HTTPException):
+ """Handle HTTP exceptions."""
+ app.logger.error(
+ "HTTP Error %s: %s", exc.code, exc.description, exc_info=True)
+ return render_template(f"http-error.html",
+ request_url=request.url,
+ exc=exc,
+ trace=traceback.format_exception(exc)), exc.code
+
def register_error_handlers(appl: Flask):
"""Register top-level error/exception handlers."""
appl.register_error_handler(Exception, handle_general_exception)
- appl.register_error_handler(HTTPException, handle_general_exception)
+ appl.register_error_handler(HTTPException, handle_http_exception)
appl.register_error_handler(mdb.MySQLError, handle_general_exception)