J'ai pu reproduire le comportement et en fait vous ne pourrez attraper une NullpointerException que lorsque vous essayez d'insérer un objet dans une instance MongoDB inaccessible. À mon humble avis, ce comportement devrait être corrigé dans le pilote Java MongoDB, car il n'est pas très Java. La solution de contournement sale ressemble probablement à ceci :
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);
}
}