summaryrefslogtreecommitdiff
path: root/src/predicate.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/predicate.h')
-rw-r--r--src/predicate.h9
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;
+ }
}
};