From a017a8cf1f4ed5031bc4ec0908992aad4658fc11 Mon Sep 17 00:00:00 2001 From: LordBaryhobal Date: Wed, 1 Jul 2026 14:06:01 +0200 Subject: [PATCH] feat(checker): catch errors when evaluating constraint --- midas/checker/python.py | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/midas/checker/python.py b/midas/checker/python.py index e58dac7..d74cbce 100644 --- a/midas/checker/python.py +++ b/midas/checker/python.py @@ -989,10 +989,19 @@ class PythonTyper( evaluator = Evaluator(self.types) evaluator.set_value("_", lit_value) - res = evaluator.evaluate(constraint) + printer = MidasPrinter() + constraint_str: str = printer.print(constraint) + res: Any + try: + res = evaluator.evaluate(constraint) + except Exception as e: + self.reporter.error( + expr.location, + f"An error occurred while checking constraint '{constraint_str}' on the value {lit_value!r}: {e}", + ) + return False + if not res: - printer = MidasPrinter() - constraint_str: str = printer.print(constraint) self.reporter.error( expr.location, f"Value {lit_value!r} does not fit constraint '{constraint_str}'",