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 <a.zaft@fz-juelich.de> Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de> Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch> Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de>
This commit is contained in:
parent
69938f7ce8
commit
89df37462c
@ -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"""
|
||||
|
Loading…
x
Reference in New Issue
Block a user