martes, 7 de junio de 2011

Excepciones

Cuando nosotros estamos desarrollando programas por lo general no es para nuestro propio uso. En la mayoría de los casos desarrollamos programas para otras personas y ellos no saben cómo están diseñados internamente. Por lo que pueden ingresar cualquier tipo de información. Esta información que se le está enviando al sistema puede ocasionar que este falle por muchas diferentes razones.

Nosotros tenemos que prestar mucha atención a instrucciones que puedan ocasionar que nuestro sistema termine de una manera incorrecta. Cuando nosotros identificamos las posibles fallas que el sistema puede tener las intentamos validar de manera que no ocurra una caída del sistema.

Pero siempre se nos puede escarpar una falla o el usuario siempre pueden encontrar una forma de hacer que nuestro sistema falle. Para esos momentos, es cuando los programadores queremos proteger el sistema de todas estas posibles caídas inesperadas.

Lo que siempre se desea es que el sistema no se detenga, que siempre continúe corriendo a pesar de las excepciones que ocurran. Siempre se busca la continuidad.

El manejo de errores es una de las partes críticas en nuestro diseño de aplicaciones. Ya que no podemos asegurar que siempre nuestra aplicación va hacer uso correcto de llamadas a objetos con los que podría provocar un error o los datos van a poder funcionar correctamente como los usuarios los digitaron.

Cuando se encuentra un error el programa tiene varias opciones que puede realizar para manejarlo:

• La aplicación podría decidir si terminar cuando aparece el error
• Ignorar, esto esperando que no se presente otra vez.
• Finalmente, se podría buscar la forma de establecer una señal de error.

Cuando hablamos de formas de señales de error esto es para poder determinar el tipo de error lanzado y/o terminar el programa.

Java no nos permite ignorar los errores pero si nos da la facilidad de atrapar errores y su tipo de mensajes que lanzan las excepciones y de esta manera poder continuar con la ejecución de programa sin que tenga terminaciones indeseadas.

Cuando las aplicaciones en java están corriendo y se encuentra un error se lanza (esto se hace por medio de la palabra reservada throws). Esto se realiza en la primera línea de código donde sucedió el problema. Entonces el manejador de errores entra en el juego, ya que de manera automáticamente se buscan algún código que controle la excepción que se lanzó. Todo esto para que las excepciones sean manejadas de manera correcta. Este proceso es conocido como atrapar una excepción.

Si ocurre una excepción y esta no es capturada en el bloque de código donde ocurre, el error se propaga por todo el sistema buscando el siguiente bloque de código que pueda manejar a la excepción.

Los errores deben ser atrapados en el lugar de ocurrencia, esto para que la trazabilidad sea más simple. Es más complejo si los errores se dispersan por el programa. Esto porque los síntomas del error puede no indicar la raíz del problema.

Algunas desventajas del manejo de excepciones

• Añadir código para el manejo de errores
• El código de manejo de errores hace más difícil la lectura de la lógica ya que está mezclado con este.
• Esto incrementa su tamaño en el ejecutable del sistema.

En java tenemos diferentes formas de manejar las excepciones, la primera que vamos a mencionar es try. Con la palabra reservada try intentamos ejecutar un bloque de código que podría tener algún tipo de fallo. Luego para poder atrapar la excepción dentro que sucede en el bloque de código que se está ejecutando tenemos la palabra catch que nos permite capturar diferentes tipos de excepciones. Y luego tenemos la palabra finally, con esta podemos hacer rutinas que permitan evitar errores futuros. Por ejemplo se pueden cerrar archivos que no deberían quedar abiertos para que puedan ser utilizados por otras rutinas.

Luego tenemos throw, esta es la expresión que le indica a java que puede disparar una excepción. Y finalmente tenemos throws esto nos indica las diferentes excepciones que pueden ser disparadas por un método.

Etiquetas:

0 comentarios:

Publicar un comentario

Suscribirse a Enviar comentarios [Atom]

<< Inicio