"""Application error handling.""" import logging import traceback import MySQLdb as mdb from flask import Flask, render_template def handle_general_exception(exc: Exception): trace = traceback.format_exc() logging.error("Error: Generic unhandled exception!!\n%s", trace) return render_template("unhandled_exception.html", trace=trace) def handle_general_MySQLdb_errors(exc: mdb.MySQLError): trace = traceback.format_exc() logging.error("MySQLError: Generic MySQL Error!!\n%s", trace) return render_template("unhandled_exception.html", trace=trace) def register_error_handlers(app: Flask): """Register top-level error/exception handlers.""" app.register_error_handler(Exception, handle_general_exception) app.register_error_handler(mdb.MySQLError, handle_general_exception)