Siempre implemento un try...catch(Throwable)
(un Throwable es realmente un error y su aplicación no debe realizar ninguna otra operación después de obtener uno de esos) en UN punto en mi código, cuando es extremadamente importante saber qué pasó para que puede ser registrado Ese lugar es generalmente el método main
.
También tengo try ... catch (Exception) en una clase ejecutable , o una clase que procesa, por ejemplo, un registro que se puede procesar independientemente de los demás. En ese caso, la aplicación debería continuar incluso si parte de su procesamiento falla, no importa si sé qué excepción se lanzará o no, capto la excepción, la registro, aborto esa entrada de procesamiento, y sigo adelante.
La regla de oro es que debe detectar una excepción si va a hacer algo al respecto (ya sea abortar el procesamiento de algo, ejecutar una rutina alternativa o seguir adelante, siempre que sepa lo que está haciendo), si no vas a hacer algo al respecto, no lo atrapes.
Y no use su creador IDE try...catch
para ocultar su excepción, en su lugar permita que agregue las excepciones a la firma del método.
"Las excepciones sin marcar son tales que el programa no se puede recuperar (fácilmente)." No, 'Los errores son tales que el programa no se puede recuperar fácilmente. Se pueden tratar otros '' RuntimeException's, pero generalmente son cosas que se pueden evitar en el código, como 'NullPointerException'. – Powerlord
@powerlord - ver mi actualización – Bozho