From 1f298590400cf5d2921a07e200086e16cc22f72c Mon Sep 17 00:00:00 2001 From: Aditya Toshniwal Date: Wed, 23 Jan 2019 12:49:05 +0530 Subject: [PATCH] Improve application level exception handling for unhandled exceptions. --- web/pgadmin/__init__.py | 7 +++++++ web/pgadmin/tools/datagrid/static/js/datagrid.js | 4 ++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/web/pgadmin/__init__.py b/web/pgadmin/__init__.py index 1649b2bca..c1b2589d6 100644 --- a/web/pgadmin/__init__.py +++ b/web/pgadmin/__init__.py @@ -34,6 +34,8 @@ from pgadmin.utils.session import create_session_interface, pga_unauthorised from pgadmin.utils.versioned_template_loader import VersionedTemplateLoader from datetime import timedelta from pgadmin.setup import get_version, set_version +from pgadmin.utils.ajax import internal_server_error + # If script is running under python3, it will not have the xrange function # defined @@ -662,6 +664,11 @@ def create_app(app_name=None): 'current_blueprint': current_blueprint } + @app.errorhandler(Exception) + def all_exception_handler(e): + current_app.logger.error(e, exc_info=True) + return internal_server_error(errormsg=str(e)) + ########################################################################## # All done! ########################################################################## diff --git a/web/pgadmin/tools/datagrid/static/js/datagrid.js b/web/pgadmin/tools/datagrid/static/js/datagrid.js index 6de7389f5..851d53ff3 100644 --- a/web/pgadmin/tools/datagrid/static/js/datagrid.js +++ b/web/pgadmin/tools/datagrid/static/js/datagrid.js @@ -438,8 +438,8 @@ define('pgadmin.datagrid', [ err.errormsg ); } catch (e) { - alertify.alert( - e.statusText, gettext('Query Tool Initialize Error') + alertify.alert(gettext('Query Tool Initialize Error'), + e.statusText ); } });