You are on page 1of 10

Manejo de excepciones

Programación I
Prof. Gabriela Guevara
Manejo de excepciones
Durante su ejecución, las aplicaciones pueden producir muchas
clases de errores de diversos niveles de severidad

Cuando de invocan métodos sobre un objeto, el mismo puede


descubrir problemas:
– de estado interno (valores de variables inconsistentes)
– detectar errores con los objetos o datos que maneja (como un
archivo o una dirección de red)
– entre otros
Manejo de excepciones

El manejo de excepciones de java capacita a un programa para


capturar (catch) todo tipo de excepciones, o capturar

excepciones de cierto tipo

Su implementación hace que los programas sean mas robustos

Se utilizan en situaciones en las cuales el sistema se puede recuperar


del malfuncionamiento causado por un error

El procedimiento de recuperación es llamado manejador de excepción


Manejo de excepciones
El manejo de excepciones se provee para habilitar a los programas
para que capturen y manejen los errores en lugar de permitirles
ocurrir y sufrir las consecuencias

El manejo de excepciones esta diseñado para trabajar con errores


sincrónicos, como el intento de división por cero, la excepción
sincrónica se produce como resultado de ejecutar una
instrucción particular

Por otro lado, el manejo de excepciones no está capacitado para


trabajar con eventos asincrónicos tales como finalizaciones de
E/S de disco, arribo de mensajes de la red, el accionar del clic
del mouse, presionado de teclas y otros similares, los cuales se
manejan por medio de oyentes de eventos
Manejo de excepciones
El sistema en tiempo de ejecución lanza dos tipos principales de
excepciones:

excepciones en tiempo de ejecución,


que son excepciones de la clase RuntimeException

y errores que son extensiones de la clase Error

Las excepciones Error indican problemas muy serios que son


generalmente irrecuperables y que nunca se deberían capturar
Manejo de excepciones
La figura muestra parte de superior de la jerarquía de los tipo de
excepción

Throwable

Error Exception

AbstractMethodError …….. RuntimeException Excepciones diversas

ArithmeticException ……..
Manejo básico de excepciones en Java

El manejo de excepciones en Java esta habilitado para situaciones


en los cuales el método que detecta un error es incapaz de
manejarlo. Tal método lanzará una excepción

El programador encierra en un bloque try el código


que puede generar una excepción

El bloque try es seguido por cero o mas bloques catch

Cada bloque catch especifica el tipo de excepción


que puede capturar y contiene un manejador de excepción
Manejo básico de excepciones en Java

Después del ultimo bloque catch, un bloque finally opcional


provee el código que siempre se ejecuta aunque una excepción
haya o no ocurrido

Si no existen bloques catch luego de un bloque try,


el bloque finally es requerido

El bloque finally libera recursos y entrega el control a la


primer sentencia después del bloque finally
Manejo básico de excepciones en Java

try {
algunObjeto.algunMetodo();
…….
}
catch(TipoDeExcepcion tde) {
sentencias que se ejecutan si y solo si el código contenido
en el try lanza una excepción
}
finally {
sentencias
}
Manejo básico de excepciones en Java

Se puede especificar con la cláusula throws las excepciones


que un método lance

Así los tipos de excepciones (a,b,c) que son lanzadas por un


método (g) son especificadas en la definición del método con
una cláusula throws

Solo algunas excepciones y errores requieren ser definidas

int g (flota a) throws a,b,c {


//cuerpo del metodo
}

You might also like