java - tipos - ¿Debo declarar excepciones sin marcar en la especificación de lanzamientos?
tipos de excepciones en java netbeans (3)
Si por alguna razón puedo esperar razonablemente que ocurra una excepción no verificada en un método, ¿debo agregarla a la especificación de tiros?
Dado que las excepciones no marcadas indican errores de programación , debe evitarse declararlos en la cláusula de throws
. En general, no se debe intentar capturar estas excepciones, excepto en el nivel más alto de su programa. Hay algunas excepciones (juego de palabras destinado) a esta regla; por ejemplo, en el código de producción, debería estar NumberFormatException
.
Nota: A veces, los autores de marcos hacen que su excepción base herede RuntimeException
(por ejemplo, HibernateException
). Excepciones como esa deberían ser atrapadas también.
Soy consciente de que las excepciones marcadas tienen que ser manejadas o especificadas, pero las excepciones no marcadas son opcionales.
Si por alguna razón puedo esperar razonablemente que ocurra una excepción no verificada en un método, ¿debo agregarla a la especificación de tiros? ¿O debería mantener la especificación lo más breve posible?
Esa es una decisión de diseño. Normalmente no harías eso. Pero si crees que es crucial para el usuario de tu código capturar una Exception
, entonces es una forma de insinuarlo. Otra forma sería simplemente agregarlo a la documentación y explicar por qué es importante detectar la Exception
.
declarar explícitamente en cláusula throws no es necesario ya que se trata de excepciones de tiempo de ejecución, pero debe documentarlo en javadoc para que los usuarios puedan ver en qué circunstancias puede ocurrir esta excepción y qué significa.