RuntimeException
es una subclase de java.lang.Exception
. RunTimeExceptions
casi siempre son el resultado de un error de programación y/o invariantes que no se cumplen (los nulos se pasan cuando no deberían), por lo que no es necesario que los capture como java.lang.Exception
(que son excepciones comprobadas). No los atrapa porque hay poco que el sistema Run Time podría hacer para recuperarse.
Creo que el tiempo de ejecución de la frase solo significa que suceden cuando el programa se está ejecutando (obviamente !!) y crucial el compilador no obliga a incorporar comprobaciones en el código como con Excepciones comprobadas. Creo que es un ejemplo de dónde es difícil nombrar una clase de manera apropiada, p. Supongo que podrían tener Excepciones desactivadas por defecto y lo llamaron Excepción. Luego se subclasificó para proporcionar CheckedException; todo el mundo llama a java.lang.Exception una Excepción Controlada, pero no está claro desde el Nombre de la Clase. Pero no lo hicieron y tenemos:
> java.lang.Exception is referred to as "Checked Exception"
> java.lang.RuntimeException is referred to as "Unchecked Exception"