From 89df37462ccf9ad032ca56667f388745318c4d0c Mon Sep 17 00:00:00 2001 From: Alexander Zaft Date: Wed, 5 Jun 2024 12:58:58 +0200 Subject: [PATCH] datatypes: add more detail to error messages the error messages for tuple and array swallow all details useful for debugging. add the original exception for some context Change-Id: I8e1036bfab10c09d5f9c8af05ac3306af89f54c4 Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/33850 Reviewed-by: Alexander Zaft Tested-by: Jenkins Automated Tests Reviewed-by: Markus Zolliker Reviewed-by: Enrico Faulhaber --- frappy/datatypes.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/frappy/datatypes.py b/frappy/datatypes.py index e8240a8..8e9bd92 100644 --- a/frappy/datatypes.py +++ b/frappy/datatypes.py @@ -802,7 +802,7 @@ class ArrayOf(DataType): return tuple(self.members(v) for v in value) except Exception as e: errcls = RangeError if isinstance(e, RangeError) else WrongTypeError - raise errcls('can not convert some array elements') from e + raise errcls(f'can not convert some array elements: {e!r}') from e def validate(self, value, previous=None): self.check_type(value) @@ -812,7 +812,7 @@ class ArrayOf(DataType): return tuple(self.members.validate(v) for v in value) except Exception as e: errcls = RangeError if isinstance(e, RangeError) else WrongTypeError - raise errcls('some array elements are invalid') from e + raise errcls(f'some array elements are invalid: {e!r}') from e def export_value(self, value): """returns a python object fit for serialisation""" @@ -897,7 +897,7 @@ class TupleOf(DataType): return tuple(sub(elem) for sub, elem in zip(self.members, value)) except Exception as e: errcls = RangeError if isinstance(e, RangeError) else WrongTypeError - raise errcls('can not convert some tuple elements') from e + raise errcls(f'can not convert some tuple elements: {e!r}') from e def validate(self, value, previous=None): self.check_type(value) @@ -907,7 +907,7 @@ class TupleOf(DataType): return tuple(sub.validate(v, p) for sub, v, p in zip(self.members, value, previous)) except Exception as e: errcls = RangeError if isinstance(e, RangeError) else WrongTypeError - raise errcls('some tuple elements are invalid') from e + raise errcls(f'some tuple elements are invalid: {e!r}') from e def export_value(self, value): """returns a python object fit for serialisation"""