Sono stato in grado di riprodurre il comportamento e infatti sarai in grado di catturare un NullpointerException solo quando tenti di inserire un oggetto in un'istanza MongoDB irraggiungibile. IMHO questo comportamento dovrebbe essere corretto nel driver Java MongoDB, poiché non è molto Java-ish. La soluzione sporca è probabilmente qualcosa del genere:
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);
}
}