Jeg var i stand til at gengive adfærden, og faktisk vil du kun være i stand til at fange en NullpointerException, når du forsøger at indsætte et objekt i en uopnåelig MongoDB-instans. IMHO bør denne adfærd rettes i MongoDB Java Driver, da den ikke er særlig Java-agtig. Den beskidte løsning ser sandsynligvis sådan ud:
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);
}
}