summaryrefslogtreecommitdiff
path: root/src/mongo/bson/bsonobj.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/mongo/bson/bsonobj.h')
-rw-r--r--src/mongo/bson/bsonobj.h6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/mongo/bson/bsonobj.h b/src/mongo/bson/bsonobj.h
index 86f858258ad..5f50271e4c7 100644
--- a/src/mongo/bson/bsonobj.h
+++ b/src/mongo/bson/bsonobj.h
@@ -826,7 +826,7 @@ struct DataType::Handler<BSONObj> {
const char* ptr,
size_t length,
size_t* advanced,
- std::ptrdiff_t debug_offset) {
+ std::ptrdiff_t debug_offset) noexcept try {
auto temp = BSONObj(ptr);
auto len = temp.objsize();
if (bson) {
@@ -836,13 +836,15 @@ struct DataType::Handler<BSONObj> {
*advanced = len;
}
return Status::OK();
+ } catch (const DBException& e) {
+ return e.toStatus();
}
static Status store(const BSONObj& bson,
char* ptr,
size_t length,
size_t* advanced,
- std::ptrdiff_t debug_offset);
+ std::ptrdiff_t debug_offset) noexcept;
static BSONObj defaultConstruct() {
return BSONObj();