From: Henryk Plötz Date: Thu, 9 Aug 2018 17:21:13 +0000 (+0200) Subject: Nicer exception stack traces, again X-Git-Tag: v2.0.0~1^2~141 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c20436aed00eacd654e8fafe721fa64cf4ac1acf;p=thirdparty%2Fpython-fints.git Nicer exception stack traces, again --- diff --git a/fints/parser.py b/fints/parser.py index 11f864c..81ef477 100644 --- a/fints/parser.py +++ b/fints/parser.py @@ -139,11 +139,14 @@ class FinTS3Parser: raise ValueError("Required field {}.{} was not present".format(seg.__class__.__name__, name)) break - if not constructed: - setattr(seg, name, val) - else: - deg = self.parse_deg_noniter(field.type, val, field.required) - setattr(seg, name, deg) + try: + if not constructed: + setattr(seg, name, val) + else: + deg = self.parse_deg_noniter(field.type, val, field.required) + setattr(seg, name, deg) + except ValueError as e: + raise ValueError("Wrong input when setting {}.{}".format(seg.__class__.__name__, name)) from e else: i = 0 while True: @@ -152,11 +155,14 @@ class FinTS3Parser: except StopIteration: break - if not constructed: - getattr(seg, name)[i] = val - else: - deg = self.parse_deg_noniter(field.type, val, field.required) - getattr(seg, name)[i] = deg + try: + if not constructed: + getattr(seg, name)[i] = val + else: + deg = self.parse_deg_noniter(field.type, val, field.required) + getattr(seg, name)[i] = deg + except ValueError as e: + raise ValueError("Wrong input when setting {}.{}".format(seg.__class__.__name__, name)) from e i = i + 1