verificadas todas tipos propagacion personalizadas mas manejo las excepciones ejemplos comunes arbol java java-ee exception-handling postconstruct

todas - tipos de excepciones en java netbeans



@PostConstruct y excepciones controladas (2)

En el documento @PostConstruct dice sobre los métodos anotados:

"El método NO DEBE arrojar una excepción marcada".

¿Cómo podría tratarse, por ejemplo, una IOException que puede arrojarse en dicho método? Simplemente envuélvalo en una RuntimeException y deje que el usuario se preocupe por el estado inicial defectuoso del objeto. ¿O es @PostConstruct el lugar equivocado para validar e inicializar los objetos que obtuvieron sus dependencias?


Sí, envuélvalo en una excepción de tiempo de ejecución. Preferiblemente algo más concreto como IllegalStateException .

Tenga en cuenta que si el método init falla, normalmente la aplicación no se iniciará.


Utilice una excepción suavizada como tal, en efecto envolviendo en RuntimeException: https://repl.it/@djangofan/SoftenExceptionjava

private static RuntimeException softenException(Exception e) { return checkednessRemover(e); } private static <T extends Exception> T checkednessRemover(Exception e) throws T { throw (T) e; }

Entonces el uso es como:

} catch (IOException e) { throw softenException(e); //throw e; // this would require declaring ''throws IOException'' }