MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

MongoDB-Java-Treiber:Ausnahme abfangen, wenn das Einfügen fehlschlägt

Ich konnte das Verhalten reproduzieren und tatsächlich können Sie nur dann eine NullpointerException abfangen, wenn Sie versuchen, ein Objekt in eine nicht erreichbare MongoDB-Instanz einzufügen. IMHO sollte dieses Verhalten im MongoDB-Java-Treiber behoben werden, da es nicht sehr Java-isch ist. Der schmutzige Workaround sieht wahrscheinlich so aus:

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