diff options
-rw-r--r-- | src/predicate.h | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/predicate.h b/src/predicate.h index e4cc73a3..c3773c43 100644 --- a/src/predicate.h +++ b/src/predicate.h @@ -84,7 +84,14 @@ public: } bool operator()(scope_t& item) { - return ! predicate || predicate.calc(item).strip_annotations(what_to_keep); + try { + return ! predicate || predicate.calc(item).strip_annotations(what_to_keep); + } + catch (const std::exception& err) { + add_error_context(_("While determining truth of predicate expression:")); + add_error_context(expr_context(predicate)); + throw; + } } }; |