MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Pilote MongoDB-Java :intercepter l'exception en cas d'échec de l'insertion

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);
    }
}