From c87723566dfd800350cd39bc0094a9f6fd3d4f2d Mon Sep 17 00:00:00 2001 From: "Karl O. Pinc" Date: Mon, 19 Aug 2024 18:44:47 -0500 Subject: [PATCH] Subclass "runtime" exceptions --- src/pgwui_sql/exceptions.py | 12 +++++++++++- src/pgwui_sql/views/sql.py | 9 +++++---- 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/src/pgwui_sql/exceptions.py b/src/pgwui_sql/exceptions.py index e906793..b6391ae 100644 --- a/src/pgwui_sql/exceptions.py +++ b/src/pgwui_sql/exceptions.py @@ -51,7 +51,17 @@ class SQLError(core_ex.UploadError): e The error severity descr More description of the error detail Extra HTML describing the error - data The uploaded data + ''' + def __init__(self, e, lineno, descr='', detail=''): + super().__init__(e, lineno, descr=descr, detail=detail) + +class ExecutionError(SQLError): + ''' + Error raised when processing SQL + + e The error severity + descr More description of the error + detail Extra HTML describing the error ''' def __init__(self, e, lineno, descr='', detail=''): super().__init__(f'{e} when executing SQL', diff --git a/src/pgwui_sql/views/sql.py b/src/pgwui_sql/views/sql.py index 2c29db8..dc75dfc 100644 --- a/src/pgwui_sql/views/sql.py +++ b/src/pgwui_sql/views/sql.py @@ -174,10 +174,11 @@ class SQLHandler(pgwui_core.core.SessionDBHandler): except psycopg.errors.Error as err: lineno = stmt_text.count( '\n', 0, int(err.diag.statement_position) - 1) + 1 - raise sql_ex.SQLError(err.diag.severity, - lineno, - descr=err.diag.message_primary, - detail=self.format_detail(err, stmt_text)) + raise sql_ex.ExecutionError( + err.diag.severity, + lineno, + descr=err.diag.message_primary, + detail=self.format_detail(err, stmt_text)) def get_result_rows(self, cur): rows = [] -- 2.34.1