Download Diapositiva 1 - Docencia FCA-UNAM
Document related concepts
no text concepts found
Transcript
UNIVERSIDAD LATINA (UNILA) IV.- EXCEPCIONES LE, EI, Profesor Ramón Castro Liceaga Introducció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. Que 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 Problemas 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. Java y las excepciones • En Java el manejo de excepciones es automatico Lanzar 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. Metodos de la pila 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. Ventajas 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 Jerarquía de las Excepciones Tipos de Excepciones Tenemos 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 el programa. 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. Manejo 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). Sintaxis 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 } } Bloque 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 } Bloque try/catch Sintaxis Prueba y verifica la excepción que te genera este código Agrega el código para el manejo de la excepción al mismo programa Excepción producida por un método y atrapada en otro. Excepción generada y atrapada en un método. Recuperación de la ejecución después de una excepción.. Catch Múltiples Manejo de excepciones generales y específicas Bloques try anidados Finally Throws Conclusió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.