From ad2800aaf6e06b98ee4b81be3c2845ebf13562a7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mose=20M=C3=BCller?= Date: Mon, 8 Apr 2024 11:12:52 +0200 Subject: [PATCH] improves exception deserialization Tries to use builtins exceptions if possible. --- src/pydase/utils/serialization/deserializer.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/pydase/utils/serialization/deserializer.py b/src/pydase/utils/serialization/deserializer.py index 13daec6..3d1679d 100644 --- a/src/pydase/utils/serialization/deserializer.py +++ b/src/pydase/utils/serialization/deserializer.py @@ -89,7 +89,12 @@ class Deserializer: @classmethod def deserialize_exception(cls, serialized_object: SerializedObject) -> NoReturn: - exception = type(serialized_object["name"], (Exception,), {}) # type: ignore + import builtins + + try: + exception = getattr(builtins, serialized_object["name"]) # type: ignore + except AttributeError: + exception = type(serialized_object["name"], (Exception,), {}) # type: ignore raise exception(serialized_object["value"]) @staticmethod