summaryrefslogtreecommitdiff
path: root/src/mongo/db/matcher/expression.h
diff options
context:
space:
mode:
authorRobert Guo <robert.guo@10gen.com>2018-09-20 15:58:56 -0400
committerRobert Guo <robert.guo@10gen.com>2018-10-02 12:14:53 -0400
commit98cf14e795ec390182286f86edd7cf134325c81f (patch)
treebd01551ab0eb7c104b3909e3b0ccb492c5ba262f /src/mongo/db/matcher/expression.h
parent4d84289d1745fa9e5cdb14ae753e1eaa493abdaf (diff)
downloadmongo-98cf14e795ec390182286f86edd7cf134325c81f.tar.gz
SERVER-37100 add context to agg pre-evaluation errors
Diffstat (limited to 'src/mongo/db/matcher/expression.h')
-rw-r--r--src/mongo/db/matcher/expression.h8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/mongo/db/matcher/expression.h b/src/mongo/db/matcher/expression.h
index bc0796dc1a7..8ff49d059b1 100644
--- a/src/mongo/db/matcher/expression.h
+++ b/src/mongo/db/matcher/expression.h
@@ -149,7 +149,13 @@ public:
}
auto optimizer = expression->getOptimizer();
- return optimizer(std::move(expression));
+
+ try {
+ return optimizer(std::move(expression));
+ } catch (DBException& ex) {
+ ex.addContext("Failed to optimize expression");
+ throw;
+ }
}
MatchExpression(MatchType type);