Skip to content

Commit 8f1026f

Browse files
authored
Improved error handling (#620)
1 parent 46f32e3 commit 8f1026f

File tree

4 files changed

+6
-7
lines changed

4 files changed

+6
-7
lines changed

executorlib/backend/interactive_parallel.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ def main() -> None:
8080
if mpi_rank_zero:
8181
interface_send(
8282
socket=socket,
83-
result_dict={"error": error, "error_type": str(type(error))},
83+
result_dict={"error": error},
8484
)
8585
else:
8686
# Send output

executorlib/backend/interactive_serial.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ def main(argument_lst: Optional[list[str]] = None):
5656
except Exception as error:
5757
interface_send(
5858
socket=socket,
59-
result_dict={"error": error, "error_type": str(type(error))},
59+
result_dict={"error": error},
6060
)
6161
else:
6262
# Send output

executorlib/standalone/interactive/communication.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -47,8 +47,7 @@ def receive_dict(self) -> dict:
4747
if "result" in output:
4848
return output["result"]
4949
else:
50-
error_type = output["error_type"].split("'")[1]
51-
raise eval(error_type)(output["error"])
50+
raise output["error"]
5251

5352
def send_and_receive_dict(self, input_dict: dict) -> dict:
5453
"""
@@ -181,7 +180,7 @@ def interface_send(socket: Optional[zmq.Socket], result_dict: dict):
181180
182181
Args:
183182
socket (zmq.Socket): socket for the connection
184-
result_dict (dict): dictionary to be sent, supported keys are result, error and error_type.
183+
result_dict (dict): dictionary to be sent, supported keys are result and error.
185184
"""
186185
if socket is not None:
187186
socket.send(cloudpickle.dumps(result_dict))

tests/test_backend_interactive_serial.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ def test_main_as_thread_error(self):
5252
t.start()
5353
submit_error(socket=socket)
5454
self.assertEqual(
55-
cloudpickle.loads(socket.recv())["error_type"], "<class 'TypeError'>"
55+
str(type(cloudpickle.loads(socket.recv())["error"])), "<class 'TypeError'>"
5656
)
5757
self.assertEqual(cloudpickle.loads(socket.recv()), {"result": True})
5858
socket.close()
@@ -78,7 +78,7 @@ def test_submit_as_thread_error(self):
7878
t.start()
7979
main(argument_lst=["--zmqport", str(port)])
8080
self.assertEqual(
81-
cloudpickle.loads(socket.recv())["error_type"], "<class 'TypeError'>"
81+
str(type(cloudpickle.loads(socket.recv())["error"])), "<class 'TypeError'>"
8282
)
8383
self.assertEqual(cloudpickle.loads(socket.recv()), {"result": True})
8484
socket.close()

0 commit comments

Comments
 (0)