Download Manejo de Excepciones

Document related concepts
no text concepts found
Transcript
Manejo de Excepciones
M.C. Jorge Eduardo Ibarra Esquer
[email protected]
Excepciones en Java
†
†
Una excepción es una condición anormal que
surge en una secuencia de código en tiempo
de ejecución
En Java, una excepción es un objeto que
describe una condición excepcional, es decir,
un error que ha ocurrido en una parte del
código
1
Excepciones en Java
†
†
Cuando se presenta una de estas condiciones,
se crea un objeto que representa la excepción
y se envía al método en el que se originó el
error
Al recibir una excepción, un método puede
decidir capturarla o pasarla al método que lo
invocó
Palabras clave utilizadas para el
manejo de excepciones
†
†
†
try – Permite señalar un bloque de código en
el que es posible que se genere una excepción
catch – Indica el tipo de excepción que se
puede capturar y el código a ejecutar en caso
de que se presente
throw – Se utiliza para enviar manualmente
una excepción
2
Palabras clave utilizadas para el
manejo de excepciones
†
†
throws – Se utiliza para indicar que un
método puede enviar una excepción
finally – Marca un bloque de código que debe
ejecutarse, independientemente de que se
haya presentado o no una excepción
El bloque try-catch-finally
†
La forma general de un bloque para manejo
de excepciones es la siguiente:
try{
// Bloque de código en el que se podría generar un error
}
catch(Excepcion1 e){
//Código a ejecutar si se presenta una excepción de tipo Excepcion1
}
catch(Excepcion2 e){
//Código a ejecutar si se presenta una excepción de tipo Excepcion2
}
…
finally {
//Código a ejecutar antes de que termine el bloque
}
3
Tipos de excepciones
†
†
La clase Throwable es la superclase de todas
las excepciones que se pueden generar desde
la máquina virtual de Java o a través de una
sentencia throw
De la misma forma, solamente subclases de
Throwable pueden ser capturadas en un
bloque catch
Tipos de excepciones
†
Java incorpora dos clases que extienden a
Throwable, mismas que a su vez definen dos
grupos en los que se pueden categorizar las
excepciones
„
„
Exception
Error
4
Excepciones
†
Se trata de situaciones excepcionales que el
programador debe ser capaz de capturar por
medio de la incorporación de los bloques trycatch
„
„
„
IndexOutOfBoundsException
NegativeArraySizeException
NullPointerException
Errores
†
Este grupo define excepciones no esperadas
por el programa en condiciones normales de
ejecución
„
„
„
„
NoClassDefFoundError
VirtualMachineError
OutOfMemoryError
UnknownError
5
Manejo de excepciones
†
Hacer un programa que divida dos números
„
„
„
Los números a dividir deberán capturarse desde la
línea de comando
Identificar todas las posibles excepciones que
puedan presentarse en el programa
Capturar excepciones
Manejo de excepciones
†
†
Las sentencias try se pueden anidar
Un aspecto importante de la captura de
excepciones es que podemos indicar el punto
en el que continuará la ejecución de un
programa después de presentarse un error
6
Utilización de throw
†
†
†
Crear una excepción para números negativos
Escribir un programa que pida que se capturen
números desde el teclado. Se obtendrá la raíz
cuadrada de los números capturados. Si se
captura un número negativo deberá arrojar la
excepción
Agregar el código necesario para la captura de
las excepciones
7