From 9d623d641a4dadf84c713575576200403f0b39a9 Mon Sep 17 00:00:00 2001 From: Stephen Zhao Date: Tue, 18 Feb 2025 00:30:44 -0500 Subject: [PATCH] Make error_location optional Add more None checks --- trino/exceptions.py | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/trino/exceptions.py b/trino/exceptions.py index 0691185e..6e2e6503 100644 --- a/trino/exceptions.py +++ b/trino/exceptions.py @@ -108,9 +108,15 @@ def message(self) -> str: return self._error.get("message", "Trino did not return an error message") @property - def error_location(self) -> Tuple[int, int]: - location = self._error["errorLocation"] - return (location["lineNumber"], location["columnNumber"]) + def error_location(self) -> Optional[Tuple[int, int]]: + location = self._error.get("errorLocation", None) + if location is None: + return None + line_number = location.get("lineNumber", None) + column_number = location.get("columnNumber", None) + if line_number is None or column_number is None: + return None + return (line_number, column_number) @property def query_id(self) -> Optional[str]: