Manejo de Errores Usando Excepciones Java

Como se mencion� anteriomente, Java requiere que un m�todo o capture o especifique todas las excepciones chequeadas que se pueden lanzar dentro de su �mbito. Este requerimiento tiene varios componentes que necesitan una mayor descripci�n.

.�Capturar

Un m�todo puede capturar una excepci�n proporcionando un manejador para ese tipo de excepci�n. La p�gina siguiente, Tratar con Excepciones, introduce un programa de ejemplo, le explica c�mo capturar excepciones, y le muestra c�mo escribir un manejador de excepciones para el programa de ejemplo.

.�Especificar

Si un m�todo decide no capturar una excepci�n, debe especificar que puede lanzar esa excepci�n. �Por que� hicieron este requermiento los dise�adores de Java? Porque una excepci�n que puede ser lanzada por un m�todo es realmente una parte del interface de programaci�n p�blico del m�todo: los llamadores de un m�todo deben conocer las excepciones que ese m�todo puede lanzar para poder decidir inteligente y concienzudamente qu� hacer son esas excepciones. As�, en la firma del m�todo debe especificar las excepciones que el m�todo puede lanzar.

La siguiente p�gina, Tratar con Excepciones, le explica la especificaci�n de excepciones que un m�todo puede lanzar y le muestra c�mo hacerlo.

.�Excepciones Chequeadas

Java tiene diferentes tipos de excepciones, inlcuyendo las excepciones de I/O, las excepciones en tiempo de ejecuci�n, y las de su propia creaci�n. Las que nos interesan a nosotros para esta explicaci�n son las excepciones en tiempo de ejecuci�n, Estas excepciones son aquellas que ocurren dentro del sistema de ejecuci�n de Java. Esto incluye las excepciones aritm�ticas (como dividir por cero), excepciones de puntero (como intentar acceder a un objeto con una referencia nula), y excepciones de indexaci�n (como intentar acceder a un elemento de un array con un �ndice que es muy grande o muy peque�o).

Las excepciones en tiempo de ejecuci�n pueden ocurrir en cualquier parte de un programa y en un programa t�pico pueden ser muy numerosas. Muchas veces, el costo de chequear todas las excepciones en tiempo de ejecuci�n excede de los beneficios de capturarlas o especificarlas. As� el compilador no requiere que se capturen o especifiquen estas excepciones, pero se puede hacer.

Las excepciones chequeadas son excepciones que no son excepciones en tiempo de ejecuci�n y que son chequeadas por el compilador (esto es, el compilador comprueba que esas excepciones son capturadas o especificadas).

Algunas veces esto se considera como un bucle cerrado en el mecanismo de manejo de excepciones de Java y los programadores se ven tentados a convertir todas las excepciones en excepciones en tiempo de ejecuci�n. En general, esto no est� recomendado.

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

.�Excepciones que pueden ser lanzadas desde el �mbito de un m�todo

Esta sentencia podr�a parecer obvia a primera vista: s�lo hay que fijarse en la sentencia throw. Sin embargo, esta sentencia incluye algo m�s no s�lo las excepciones que pueden ser lanzadas directamente por el m�todo: la clave esta en la frase dentro del �mbito de. Esta frase incluye cualquier excepci�n que pueda ser lanzada mientras el flujo de control permanezca dentro del m�todo. As�, esta sentencia incluye.

  • excepciones que son lanzadas directamente por el m�todo con la sentencia throw de Java, y
  • las excepciones que son lanzadas por el m�todo indirectamente a trav�s de llamadas a otros m�todos.

COMPARTE ESTE ARTÍCULO

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

SIGUIENTE ARTÍCULO