Comenzamos el siguiente capitulo del libro que son excepciones.
El bloque try…catch es un poco más complejo que el for y el switch, pero el uso combinado con try catch facilita su comprensión por lo que veremos primero éste.
La estructura de control en cuestión se usa para capturar el flujo de datos cuando, por la intervención del usuario o de algún dispositivo externo, sucede un error. Por ejemplo, supongamos una aplicación de fórmulas matemáticas en la que el usuario debe ingresar valores numéricos, lo que normalmente sucede es que el sistema recibirá cadenas que deberán ser convertidas a un tipo útil para las operaciones; pero si el usuario ingresa algo distinto a un dígito o a un operador, el programa fallará.
A continuación vamos a ver como el lenguaje Java implementa su propio sistema de gestión de excepciones, o como hemos mencionado anteriormente, también llamado sistema de tratamiento de errores. También veremos los primeros ejemplos sencillos sobre la gestión de excepciones.
EL SISTEMA DE GESTIÓN DE EXCEPCIONES
El control de flujo de un programa Java sabemos hasta ahora que se lleva a cabo con sentencias del tipo if, while, for, return, break, etc… Estas sentencias forman un conjunto de palabras reservardas que determinan cierta funcionalidad. Pues bien, ninguna de ellas tiene en cuenta que se puedan producir errores en tiempo de ejecución de un programa y por tanto Java necesita de un conjunto de palabras nuevas para tener en cuenta que cualquier código puede fallar o ser mal interpretado en tiempo de ejecución.
Vamos a ver tres de las palabras reservadas para tratamiento de excepciones:
- Try.
- Catch.
- Finally.
Aunque posteriormente veremos otras palabras más avanzadas y otras formas de tratamiento de errores, éstas son las primeras y más básicas con las que vamos a trabajar.
De forma introductoria diremos que hay dos formas de tratar errores en Java: capturarlos o lanzarlos. El uso de try – catch – finally corresponde a la captura de errores. Vamos a poner un símil sencillo: un error es algo inesperado, como encontrarte un ladrón dentro de tu casa. Cuando nos encontramos con un error podemos capturarlo (equivaldría a capturar el ladrón) o lanzarlo (equivaldría a tratar de hacer huir al ladrón, de hacer que salga fuera del lugar donde se encuentra).
BLOQUE TRY
Try en inglés es el verbo intentar, así que todo el código que vaya dentro de esta sentencia será el código sobre el que se intentará capturar el error si se produce y una vez capturado hacer algo con él. Lo ideal es que no ocurra un error, pero en caso de que ocurra un bloque try nos permite estar preparados para capturarlo y tratarlo. Así un ejemplo sería:
try {
JOptionPane.showMessageDialog(“bloque de código donde pudiera saltar un error es este”);
}
BLOQUE CATCH
En este bloque definimos el conjunto de instrucciones necesarias o de tratamiento del problema capturado con el bloque try anterior. Es decir, cuando se produce un error o excepción en el código que se encuentra dentro de un bloque try, pasamos directamente a ejecutar el conjunto de sentencias que tengamos en el bloque catch. Esto no es exactamente así pero ya explicaremos más adelante todo el funcionamiento. De momento para una mejor comprensión vamos a considerar que esto es así.
catch (Exception e) {
JOptionPane.showMessageDialog(“bloque de código donde se trata el problema”);
}
Fíjate que después de catch hemos puesto unos paréntesis donde pone “Exception e”. Esto significa que cuando se produce un error Java genera un objeto de tipo Exception con la información sobre el error y este objeto se envía al bloque catch.
BLOQUE FINALLY
Y para finalizar tenemos el bloque finally que es un bloque donde podremos definir un conjunto de instrucciones necesarias tanto si se produce error o excepción como si no y que por tanto se ejecuta siempre.
finally {
JOptionPane.showMessageDialog(“bloque de código ejecutado siempre”);
}
CONCLUSIONES
Los errores en Java se pueden capturar o lanzar. La captura se realiza con bloques try catch, donde por un lado tenemos el código para el caso de flujo sin problemas del programa y por otro el código con instrucciones para el tratamiento de errores.
TAREA:
Realizar los ejemplos del libro del capitulo de excepciones.
No hay comentarios.:
Publicar un comentario