Buscar
Social
Ofertas laborales ES

Foro sobre Java SE > Juan

Buenas a todos,

Tengo una duda, tengo que recuperar un dato que esta dentro de un objeto que a su vez esta dentro de otro objeto, que a su vez esta dentro de otro.

Es posible que cualquiera de ellos sea null y no venga ese dato, en tal caso no se hace nada.

que es mejor, hacer 3 if para asegurarme que no son null y luego recuperar el dato, o directemente recuperar el dato dentro de un try y dejar el catch vacio?


Saludos y gracias

marzo 21, 2014 | Unregistered CommenterJuan

Un try..catch se usa para capturar una excepción y, o bien lanzar otra diferente, o bien registrarla en un archivo log. No debe usarse para nada más.

marzo 21, 2014 | Registered Commenterchoces

Exactamente, lo que tenemos es una excepcion, mi pregunta es, utilizo 3 ifs para evitar la excepcion o uso el try catch pero sin mostrar error

marzo 21, 2014 | Unregistered CommenterJuan

No entiendo eso de que "tenemos una excepción". ¿Qué lanza esa excepción?.
Publica el código completo, a ver cuál es el problema.

marzo 21, 2014 | Registered Commenterchoces

Buenas,

Yo haria un solo if comprobando todos los null:

if (obj1 != null && obj1.getObj2() != null && obj1.getObj2.getObj3() != null) {
//haz algo con obj1.getObj2().getObj3()
}

Al funcionar las condiciones en cortocircuito no hay ningun problema: http://es.wikipedia.org/wiki/Evaluaci%C3%B3n_de_cortocircuito


Capturar una excepcion unchecked (nullpointerException) para ignorarla me parece una muy muy MUY mala idea.


Un saludo

marzo 21, 2014 | Unregistered CommenterUnoPorAhi