diff --git a/app.py b/app.py index 9085dd5..7b3c16e 100755 --- a/app.py +++ b/app.py @@ -96,6 +96,7 @@ def set_style(style): return "", 204 @app.errorhandler(404) +@app.catch_exceptions def page_not_found(err): """Render and return the 404 error template.""" return render_template("404.mako"), 404 diff --git a/calefaction/util.py b/calefaction/util.py index c6aec9d..979862a 100644 --- a/calefaction/util.py +++ b/calefaction/util.py @@ -47,10 +47,11 @@ def make_error_catcher(app, error_template): raise except TemplateError as exc: app.logger.error("Caught exception:\n{0}".format(exc.text)) - return render_template(error_template, traceback=exc.text) + trace = exc.text except Exception: app.logger.exception("Caught exception:") - return render_template(error_template, traceback=format_exc()) + trace = format_exc() + return render_template(error_template, traceback=trace), 500 return inner return callback