Bonjour,
je me demandais s'il était préférable (moins coûteux) d'effectuer un try catch plutôt qu'une série if else pour éviter des nullpointer.
Dans le cadre de processus métier complexe, il m'arrive de manipuler des grappes d'objets d'origines obscures.
afin d'éviter des nullpointer j'effectue avant chaque utilisation d'objet une vérification via un if/else.
le soucis est que je me retrouve avec une série de if/else qui devient à terme assez lourd.
dans un cas comme celui ci où l'imbrication devient peu lisible, n'est-il pas préférable d'utiliser un try catch ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 final MonObjet1 obj1 = service.rechercherObjet1(); if (obj1 != null) { final MonObjet2 obj2 = obj1.getObj2(); if (obj2 != null) { final MonObjet3 obj3 = obj2.getObj3(); if (obj3 != null) { obj3.executeMethode(); } }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 try { final MonObjet1 obj1 = service.rechercherObjet1(); final MonObjet2 obj2 = obj1.getObj2(); final MonObjet3 obj3 = obj2.getObj3(); obj3.executeMethode(); } catch (Exception e) { log.info("méthode non exécutée sur objet 3 -> conditions non respectées") log.info(e.getMessage()); }
merci beaucoup.
Partager