¿cuándo lanzar RuntimeException o subclases de ella?

Es lo normal cuando el programa se encuentra con una situación inmanejable que no debería haberse producido; pero impide seguir.

Lo más habitual es que este tipo de excepciones las lance el propio entorno de ejecución ante errores del programador tales como

·         indexación de un array fuera de rango

·         referencia a ningún objeto (null)

·         errores de formato, operaciones matemáticas, etc.

Las excepciones de tipo RuntimeException no es necesario declararlas en la cabecera de los métodos que pueden lanzarlas, aunque puede documentarse. Como regla puede decirse que es conveniente poner explícitas aquellas excepciones que se lanzan porque el programador lo ha escrito en su código.

Se usan excepciones de tipo RuntimeException cuando

·         es responsabilidad del que llama al método, saber si los argumentos son correctos o darían pie a un error

·         el que llama no prevé ninguna excepción, ni tratamiento explícito alguno; por ello a veces se dice que son excepciones para errores irrecuperables

·         el método llamado se protege de fallos del programador lanzando una excepción de ejecución

Se dice que son excepciones defensivas.

Temas relacionados

70. Exception (clase) java.lang.Exception