Успях да възпроизведа поведението и всъщност ще можете да хванете NullpointerException само когато се опитате да вмъкнете обект в недостъпен екземпляр на MongoDB. IMHO това поведение трябва да бъде коригирано в драйвера за MongoDB Java, тъй като не е много подобен на Java. Мръсното решение вероятно изглежда по следния начин:
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);
}
}