MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Driver MongoDB-Java:captura exceção quando a inserção falha


Consegui reproduzir o comportamento e, na verdade, você só conseguirá capturar um NullpointerException quando tentar inserir um objeto em uma instância inacessível do MongoDB. IMHO, esse comportamento deve ser corrigido no driver Java do MongoDB, pois não é muito Java-ish. A solução alternativa suja provavelmente se parece com isso:
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);
    }
}