Manejo de Errores Usando Excepciones Java

Como se aprendi� en la p�gina anteiror, s�lo se pueden lanzar objetos que est�n derivados de la clase Throwable. Esto incluye descendientes directos (esto es, objetos de la clase Throwable) y descendiente indirectos (objetos derivados de hijos o nietos de la clase Throwable).

Este diagrama ilustra el �rbol de herencia de la clase Throwable y sus subclases m�s importantes.

Como se puede ver en el diagrama, la clase Throwable tiene dos descendientes directos: Error y Exception.

.�Error

Cuando falla un enlace din�mico, y hay alg�n fallo "hardware" en la m�quina virtual, �sta lanza un error. Tipicamente los programas Java no capturan los Errores. Pero siempre lanzar�n errores.

.�Exception

La mayor�a de los programas lanzan y capturan objetos derivados de la clase Exception.

Una Excepci�n indica que ha ocurrido un problema pero que el problema no es demasiado serio.

La mayor�a de los programas que escribar�s lanzar�n y capturar�n excepciones.

La clase Exception tiene muchos descendiente definidos en los paquetes Java. Estos descendientes indican varios tipos de excepciones que pueden ocurrir. Por ejemplo, IllegalAccessException se�ala que no se puede encontrar un m�todo particular, y NegativeArraySizeException indica que un programa intenta crear un array con tama�o negativo.

Una subclase de Exception tiene un significado especial en el lenguaje Java: RuntimeException.

.�Excepciones en Tiempo de Ejecuci�n

La clase RuntimeException representa las excepciones que ocurren dentro de la m�quina virtual Java (durante el tiempo de ejecuci�n). Un ejemplo de estas excepciones es NullPointerException, que ocurre cuando un m�todo intenta acceder a un miembro de un objeto a trav�s de una referencia nula. Esta excepci�n puede ocurrir en cualquier lugar en que un programa intente desreferenciar una referencia a un objeto. Frecuentemente el coste de chequear estas excepciones sobrepasa los beneficios de capturarlas.

Como las excepciones en tiempo de ejecuci�n est�n omnipresentes e intentar capturar o especificarlas todas en todo momento podr�ar ser un ejercicio infructuoso (y un c�digo infructuoso, imposible de leer y de mantener), el compilador permite que estas excepciones no se capturen ni se especifiquen.

Los paquetes Java definen varias clases RuntimeException. Se pueden capturar estas excepciones al igual que las otras. Sin embargo, no se require que un m�todo especifique que lanza excepciones en tiempo de ejecuci�n. Adem�s puedes crear sus propias subclases de untimeException.

Excepciones en Tiempo de Ejecuci�n -- La Controversia contiene una explicaci�n detallada sobre c�mo utilizar las excepciones en tiempo de ejecuci�n.

COMPARTE ESTE ARTÍCULO

COMPARTIR EN FACEBOOK
COMPARTIR EN TWITTER
COMPARTIR EN LINKEDIN
COMPARTIR EN WHATSAPP
ARTÍCULO ANTERIOR

SIGUIENTE ARTÍCULO