From 64708cb8d05d5baa1e078683863b298acc148c28 Mon Sep 17 00:00:00 2001 From: Joeri Exelmans Date: Tue, 29 Oct 2024 16:13:13 +0100 Subject: [PATCH] Clearer exceptions caused by constraint evaluation --- framework/conformance.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/framework/conformance.py b/framework/conformance.py index 0d31fb1..edfe349 100644 --- a/framework/conformance.py +++ b/framework/conformance.py @@ -409,7 +409,6 @@ class Conformance: }, # globals loc # locals ) - # print('result =', result) return result def check_constraints(self): @@ -439,7 +438,10 @@ class Conformance: for obj_name, obj_id in instances: description = f"Local constraint of \"{type_name}\" in \"{obj_name}\"" # print(description) - result = self.evaluate_constraint(code, this=obj_id) + try: + result = self.evaluate_constraint(code, this=obj_id) + except Exception as e: + raise Exception(f"Context of above error = {description}") from e check_result(result, description) # global constraints @@ -457,8 +459,11 @@ class Conformance: for tm_name in glob_constraints: code = get_code(tm_name) if code != None: - result = self.evaluate_constraint(code, model=self.model) description = f"Global constraint \"{tm_name}\"" + try: + result = self.evaluate_constraint(code, model=self.model) + except Exception as e: + raise Exception(f"Context of above error = {description}") from e check_result(result, description) return errors