
Quizá por ello…
Desconocía la existencia de la siguiente regla PMD (https://pmd.github.io/latest/pmd_rules_java.html)
Issue Info
Avoid catching NullPointerException; consider removing the cause of the NPE.
– Strict Exceptions
– { } Pmd.Strict Exceptions


try-catch.De hecho, hacerlo esta considerado como una pésima práctica.

Por ejemplo, en lugar de un código como este…
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
| /** * Find all by rol. * * @param rol the rol * @param soloActivos the solo activos * @return the sets the * */@Overridepublic Set<Pantalla> findAllByRol(Rol rol, boolean soloActivos) { LOGGER.info("Ejecutando findAllByRol()"); Set<Permiso> permisos = rol.getPermisos(); Set<Pantalla> result = new HashSet<>(); try { Iterator<Permiso> i = permisos.iterator(); while(i.hasNext()){ Permiso p = i.next(); if (soloActivos){ if(p.getActivo() == 1 && p.getPantalla().getActivo() == 1){ result.add(p.getPantalla()); } } else { result.add(p.getPantalla()); } } }catch(NullPointerException ex) { LOGGER.error("No se encontraron permisos para el rol actual", ex); } return result;} |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
| /** * Find all by rol. * * @param rol the rol * @param soloActivos the solo activos * @return the sets the * */@Overridepublic Set<Pantalla> findAllByRol(Rol rol, boolean soloActivos) { LOGGER.info("Ejecutando findAllByRol()"); Set<Permiso> permisos = rol.getPermisos(); Set<Pantalla> result = new HashSet<>(); if(permisos!=null && !permisos.isEmpty()) { Iterator<Permiso> i = permisos.iterator(); while(i.hasNext()){ Permiso p = i.next(); if (soloActivos){ if(p.getActivo() == 1 && p.getPantalla().getActivo() == 1){ result.add(p.getPantalla()); } } else { result.add(p.getPantalla()); } } } return result;} |
Si quieres aprender un poco acerca del tratamiento de excepciones te recomiendo que revises el siguiente material (http://www.cursohibernate.es/doku.php?id=patrones:excepciones); el cual, a pesar de ser bastante básico, plasma con perfecta claridad los principios elementales del tratamiento de excepciones.
Espero que te haya parecido útil e interesante este artículo.
No olvides visitarme en mi perfil de GitHub: https://github.com/era5mx.
………….
Quiero man.tener.me informado: Seguir en Twitter @eldavid_oficial https://twitter.com/eldavid_oficial
Regálame un ME GUSTA. Y si eres solidario, COMPARTE para que otros puedan aprovecharlo
No hay comentarios.:
Publicar un comentario
Nota: sólo los miembros de este blog pueden publicar comentarios.