improves exception deserialization

Tries to use builtins exceptions if possible.
This commit is contained in:
Mose Müller 2024-04-08 11:12:52 +02:00
parent d792601663
commit ad2800aaf6

View File

@ -89,6 +89,11 @@ class Deserializer:
@classmethod
def deserialize_exception(cls, serialized_object: SerializedObject) -> NoReturn:
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"])