le, ei, profesor ramón castro liceaga universidad latina (unila) iv.- excepciones

23
LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) IV.- EXCEPCIONES

Upload: carlos-carda

Post on 06-Feb-2015

12 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) IV.- EXCEPCIONES

LE, EI, Profesor Ramón Castro Liceaga

UNIVERSIDAD LATINA (UNILA)

IV.- EXCEPCIONES

Page 2: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) IV.- EXCEPCIONES

IntroducciónIntroducción

• En algunos lenguajes orientados a objetos, cuando se ejecuta un programa pueden surgir algún evento especial que pueden alterar el desarrollo normal del mismo, por ejemplo cuando el resultado de un calculo falla por una definición numérica incorrecta o tratar de acceder a un arreglo de datos fuera del limite, etc.

• A este tipo de error se le conoce como excepción y los lenguajes orientados a objetos nos pueden ayudar para resolver estos problemas.

Page 3: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) IV.- EXCEPCIONES

Que son las excepcionesQue son las excepciones

• El término excepción es un forma corta da la frase “suceso excepcional” y puede definirse de la siguiente forma:

• Una excepción es un evento que ocurre durante la ejecución del programa que interrumpe el flujo normal de las instrucciones

Page 4: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) IV.- EXCEPCIONES

Problemas que pueden causar las excepcionesProblemas que pueden causar las excepciones

• Muchas clases de errores pueden causar las excepciones, desde serios problemas de hardware, como la avería de un disco duro, a los simples errores de programación, como tratar de acceder a un elemento de un array fuera de sus límites, no poder conectarse a una Base de Datos, etc.

Page 5: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) IV.- EXCEPCIONES

Java y las excepcionesJava y las excepciones

• En Java el manejo de excepciones es automatico

Page 6: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) IV.- EXCEPCIONES

Lanzar una excepciónLanzar una excepción

• En terminología java, crear una objeto exception y manejarlo por el sistema de ejecución se llama lanzar una excepción. Después de que un método lance una excepción, el sistema de ejecución entra en acción para buscar el manejador de la excepción.

Page 7: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) IV.- EXCEPCIONES

Metodos de la Metodos de la pila de excepcionespila de excepciones

• El conjunto de “algunos” métodos posibles para manejar la excepción es el conjunto de métodos de la pila de llamadas del método donde ocurrió el error.

Page 8: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) IV.- EXCEPCIONES

Ventajas en el manejo de excepcionesVentajas en el manejo de excepciones

• Mediante el uso de excepciones para manejar errores, Java tienen las siguientes ventajas frente a las técnicas de manejo de errores tradicionales.

1. Separa el Manejo de Errores del Código “Normal” 2. Propagar los Errores sobre la Pila de Llamadas 3. Agrupar los Tipos de Errores y la Diferenciación de

éstos

Page 9: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) IV.- EXCEPCIONES

Jerarquía de las ExcepcionesJerarquía de las Excepciones

Page 10: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) IV.- EXCEPCIONES

Tipos de ExcepcionesTipos de ExcepcionesTenemos tres formas diferentes.1) La máquina Virtual de Java puede generar una excepción como producto de un error interno que está fuera de su control. Estas excepciones generalmente no pueden ser manejadas por elprograma.

2) Excepciones estándar: Son excepciones que deben ser manipuladas, se producen cuando se ejecuta una división por cero o se trata de acceder a un arreglo con un índice fuera de límites son generadas por errores en el código del programa.

3) El programador puede generar una excepción manualmente utilizando la estructura throw. Sin importar cómo se produjo la excepción, se maneja de la misma forma.

Page 11: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) IV.- EXCEPCIONES

Manejo de ExcepcionesManejo de Excepciones• Cuando se produce un error en un método, este crea un

objeto 'exception' el cual contiene información sobre la excepción como el tipo de excepción y el estado del programa al presentarse el problema.

• El sistema de ejecución es el responsable de buscar algún bloque de código que maneje la excepción.

• Al hecho de crear una objeto exception y manejarlo por

el sistema de ejecución se le conoce como lanzar una excepción (throwing an exception).

Page 12: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) IV.- EXCEPCIONES

Sintaxis en el manejo de excepción en JavaSintaxis en el manejo de excepción en Java

import java.io.IOException;// ...public static void main(String[] args) { try { // Se ejecuta algo que puede producir una excepción } catch (IOException e) { // manejo de una excepción de entrada/salida } catch (Exception e) { // manejo de una excepción cualquiera } finally { // código a ejecutar haya o no excepción }}

Page 13: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) IV.- EXCEPCIONES

Bloque try/catch o try/finally en JavaBloque try/catch o try/finally en Java

int valor;try { for( x=0,valor = 100; x < 100; x ++ ) valor /= x; }catch( ArithmeticException e ) { System.out.println( "Matemáticas locas!" ); }catch( Exception e ) { System.out.println( "Se ha producido un error" ); } finally { // código a ejecutar haya o no excepción }

Page 14: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) IV.- EXCEPCIONES

Bloque try/catchBloque try/catchSintaxis

Agrega el código para el manejo de la excepción al mismo programa

Prueba y verifica la excepción que te genera este código

Page 15: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) IV.- EXCEPCIONES

Excepción producida por un método y atrapada en otroExcepción producida por un método y atrapada en otro..

Page 16: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) IV.- EXCEPCIONES

Excepción generada y atrapada en un método.Excepción generada y atrapada en un método.

Page 17: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) IV.- EXCEPCIONES

Recuperación de la ejecución después de una excepción..Recuperación de la ejecución después de una excepción..

Page 18: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) IV.- EXCEPCIONES

Catch MúltiplesCatch Múltiples

Page 19: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) IV.- EXCEPCIONES

Manejo de excepciones generales y específicasManejo de excepciones generales y específicas

Page 20: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) IV.- EXCEPCIONES

Bloques try anidadosBloques try anidados

Page 21: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) IV.- EXCEPCIONES

FinallyFinally

Page 22: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) IV.- EXCEPCIONES

ThrowsThrows

Page 23: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) IV.- EXCEPCIONES

ConclusiónConclusión

• Existen diferentes sintaxis para el manejo de excepciones, en el caso de Java la sintaxis básica es el bloque try/catch o try/finally.