Skip to content

Commit ad0768a

Browse files
authored
SqlClient unhandled exceptions #501 (#502)
1 parent f1cd112 commit ad0768a

File tree

1 file changed

+7
-4
lines changed

1 file changed

+7
-4
lines changed

griptape/tools/sql_client/tool.py

+7-4
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
from __future__ import annotations
22
from typing import Optional
33
from attr import define, field
4-
from griptape.artifacts import InfoArtifact, ListArtifact
4+
from griptape.artifacts import InfoArtifact, ListArtifact, ErrorArtifact
55
from griptape.tools import BaseTool
66
from griptape.utils.decorators import activity
77
from griptape.loaders import SqlLoader
@@ -38,9 +38,12 @@ def table_schema(self) -> str:
3838
"schema": Schema({"sql_query": str}),
3939
}
4040
)
41-
def execute_query(self, params: dict) -> ListArtifact | InfoArtifact:
42-
query = params["values"]["sql_query"]
43-
rows = self.sql_loader.load(query)
41+
def execute_query(self, params: dict) -> ListArtifact | InfoArtifact | ErrorArtifact:
42+
try:
43+
query = params["values"]["sql_query"]
44+
rows = self.sql_loader.load(query)
45+
except Exception as e:
46+
return ErrorArtifact(f"error executing query: {e}")
4447

4548
if len(rows) > 0:
4649
return ListArtifact(rows)

0 commit comments

Comments
 (0)