Tôi đã có thể tạo lại hành vi và trên thực tế, bạn sẽ chỉ có thể bắt được NullpointerException khi bạn cố gắng chèn một đối tượng vào một cá thể MongoDB không thể truy cập. IMHO hành vi này nên được sửa trong Trình điều khiển Java MongoDB, vì nó không phải là Java-ish. Cách giải quyết sai có thể trông giống như sau:
private static void safeInsert(DBCollection c, DBObject o) {
if (c == null) {
throw new RuntimeException("collection must not be null");
}
if (o == null) {
throw new RuntimeException("object must not be null");
}
try {
c.insert(o);
} catch (NullPointerException e) {
throw new RuntimeException("unable to connect to MongoDB " + c.getFullName(), e);
}
}