Java y el manejo de excepciones ( Handling Exceptions)
Algunas preguntas que los programadores se pueden hacer sobre manejar excepciones:
En los inicios de la programación de computadoras, lenguajes como Pascal, Fortran y C no proveían ningún soporte a los programadores para el manejo de errores, esto era responsabilidad del programador el proveer rutinas para el manejo de dichos errores.
Lenguajes de programación posteriores como BASIC y COBOL proveían un soporte para revisión y manejo de errores como ON ERROR GOTO…
Jerarquía de clases para el manejo de excepciones en java
Los siguientes son algunos ejemplos de cuando se lanza excepciones:
Estos serían algunos ejemplos de cuándo puede ocurrir una excepción en un programa
Ahora nos vamos a Java y el manejo de excepciones
En java está incorporado la capacidad para asegurar que las excepciones sean manejadas dentro del programa. Aunque los programadores pueden manejar algunos errores, otros ya son manejados por la JVM como ejemplo el programador debe manejar un error como el de un archivo no encontrado, mientras un error de fuera de memoria es manejado por la JVM.
Java brinda soporte al manejo de excepciones con el uso de estas palabras claves, que son:
Vamos primero con el try y catch
En java brinda estas 2 cláusulas para un manejo de excepciones de una forma Sofisticada. Se usaran los términos bloques y clausulas cuando se haga referencia a try catch
Sintaxis
Ejemplo:
Otro ejemplo:
Ahora usando la cláusula throws
Esta se utiliza cuando un método que lanza una excepción no maneja la excepción, se debe especificar en el método la excepción que lanza, usando la cláusula throws
Ejemplo:
Nota: un método puede lanzar una o más excepciones
Sentencia throw
Esta se utiliza para indicar cual método puede lanzar una excepción. Cuando ocurre un error en un programa, justo en el punto donde este ocurre, una excepción es levantada.
Usando el bloque finally
En los bloques try catch captura las excepciones indicadas y las maneja, y el bloque finally se puede añadir al final de todo el bloque try- catch, este se usa básicamente para tareas de limpieza, como cerrar archivos y liberar recursos.
El bloque finally se ejecuta después de todos los bloques catch, el finally siempre de ejecutar aun cuando no lance ninguna excepción el bloque try-catch.
Nota: en los próximos posts veremos ejemplos de finally en el manejo de archivos y base de datos.