diff --git a/src/pydase/utils/serialization/serializer.py b/src/pydase/utils/serialization/serializer.py index 046c6c5..4685c06 100644 --- a/src/pydase/utils/serialization/serializer.py +++ b/src/pydase/utils/serialization/serializer.py @@ -158,7 +158,7 @@ class Serializer: "doc": None, "readonly": True, "type": "Exception", - "value": obj.args[0], + "value": obj.args[0] if len(obj.args) > 0 else "", "name": obj.__class__.__name__, } diff --git a/tests/utils/serialization/test_serializer.py b/tests/utils/serialization/test_serializer.py index f0d8b53..97ed228 100644 --- a/tests/utils/serialization/test_serializer.py +++ b/tests/utils/serialization/test_serializer.py @@ -1225,3 +1225,22 @@ def test_add_prefix_to_full_access_path( serialized_obj: SerializedObject, prefix: str, expected: SerializedObject ) -> None: assert add_prefix_to_full_access_path(serialized_obj, prefix) == expected + + +def test_serialize_exception() -> None: + assert dump(Exception()) == { + "doc": None, + "full_access_path": "", + "name": "Exception", + "readonly": True, + "type": "Exception", + "value": "", + } + assert dump(Exception("Exception message")) == { + "doc": None, + "full_access_path": "", + "name": "Exception", + "readonly": True, + "type": "Exception", + "value": "Exception message", + }