diff --git a/airflow-core/src/airflow/serialization/serialized_objects.py b/airflow-core/src/airflow/serialization/serialized_objects.py index 54bc3389c64ce..ef4853c73e811 100644 --- a/airflow-core/src/airflow/serialization/serialized_objects.py +++ b/airflow-core/src/airflow/serialization/serialized_objects.py @@ -555,7 +555,7 @@ def serialize( cls.serialize( { "exc_cls_name": var.__class__.__name__, - "args": [var.args], + "args": list(var.args), "kwargs": {}, }, strict=strict, diff --git a/airflow-core/tests/unit/serialization/test_serialized_objects.py b/airflow-core/tests/unit/serialization/test_serialized_objects.py index 8495100cc47fc..2b229f73d6865 100644 --- a/airflow-core/tests/unit/serialization/test_serialized_objects.py +++ b/airflow-core/tests/unit/serialization/test_serialized_objects.py @@ -443,6 +443,21 @@ def __len__(self) -> int: DAT.AIRFLOW_EXC_SER, equal_exception, ), + ( + KeyError("boom"), + DAT.BASE_EXC_SER, + lambda a, b: a.__class__ == b.__class__ and a.args == b.args, + ), + ( + AttributeError("boom"), + DAT.BASE_EXC_SER, + lambda a, b: a.__class__ == b.__class__ and a.args == b.args, + ), + ( + KeyError("a", "b"), + DAT.BASE_EXC_SER, + lambda a, b: a.__class__ == b.__class__ and a.args == b.args, + ), ( DAG_WITH_TASKS, DAT.DAG,