La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Siguiente Excepciones Introducción. AnteriorSiguiente Definición Una excepción es un evento que ocurre durante la ejecución de un programa que desestabiliza.

Presentaciones similares


Presentación del tema: "Siguiente Excepciones Introducción. AnteriorSiguiente Definición Una excepción es un evento que ocurre durante la ejecución de un programa que desestabiliza."— Transcripción de la presentación:

1 Siguiente Excepciones Introducción

2 AnteriorSiguiente Definición Una excepción es un evento que ocurre durante la ejecución de un programa que desestabiliza el funcionamiento normal del mismo.

3 AnteriorSiguiente Ventajas Separa el código normal del manejo de errores Manejo homogéneo de los errores Transfiere no sólo el control del programa sino también información. La excepción es un objeto con información y comportamiento.

4 AnteriorSiguiente ¿Cuando lanzar una excepción? Si el método se encuentra ante una condición anormal que no pueda manejarse debería lanzar una excepción. Evitar usar excepciones para indicar condiciones que pueden ser razonablemente esperadas como parte del funcionamiento típico del método. Ejemplos: ClassNotFoundException, NullPointerException

5 AnteriorSiguiente Notas No está diseñado para controlar eventos asincrónicos. Se utiliza en situaciones en las que el sistema se puede recuperar de un error. El procedimiento de recuperación se llama: manejar la excepción (handle the exception).

6 AnteriorSiguiente Estructura Try – Código normal que puede generar una excepción. Es seguido por uno o más bloques de catch. Catch – Cada bloque de catch especifica el tipo de excepción que puede cachar y contiene al manejador de excepción. Finally – Va después del último catch. – Se ejecuta siempre sin importar si ocurre una excepción o no. Se suele utilizar para liberar recursos sin duplicar código.

7 AnteriorSiguiente Ejemplo – Excepciones propias Public void Metodo(){ try{ number1=Int32.Parse(input1.getText()) number2=Int32.Parse(input2.getText()) result=number1/ number2 Console.WriteLine(Resultado:+result) } catch (NumberFormatException e1){ Console.WriteLine(Teclee dos numeros enteros) } catch (DivideByZeroExcepcion e2){ Console.WriteLine(Error al dividir por cero) }

8 AnteriorSiguiente Excepciones Propias Excepciones propias – Se pueden definir excepciones propias, extendiendo de la clase exception. – Se les puede agregar atributos y metodos. Disparar excepciones entre metodos – Un metodo puede disparar una excepcion para que sea manejada en otro metodo, o a su vez para que este otro la vuelva a disparar.

9 AnteriorSiguiente Ejemplo class ServerTimeOutException:Exception {} public void encuentraServidor() {... try { conectame( servidorDefecto ); } catch( ServerTimeOutException e ) { Console.WriteLine( "Time-out del Servidor, intentando alternativa); …… } public void Conectame( String nombreServidor ) { int exito; int puerto = 80; exito = open( nombreServidor,puerto ); if( exito == -1 ) throw new ServerTimeOutException(); }

10 AnteriorSiguiente Manejo de la excepción Public void m1() { throw new MiExcepcion(3); } Public void m2(){ try { m1() ;..... } catch (MiExcepcion e1) { e1.eGetDato(); } Public class MiExcepcion:Exception{ public int dato; MiExcepcion(int d){ dato=d; } public int eGetDato(){ return dato; }

11 AnteriorSiguiente Notas Si tenemos una jerarquía de excepciones, el catch de las subclases debe estar ANTES que el catch de las superclases.

12 AnteriorSiguiente Mensaje La clase Exception tiene una propiedad Message que se puede utilizar. La forma de lanzar una excepción generica con un mensaje: Throw new Exception(mensaje); Luego en el catch, se usa la propiedad Message

13 AnteriorSiguiente Mensaje en Excepciones propias Class MiExcepcion:Exception{ MiExcepcion(String ms):base(ms) { } Luego en el catch, se utiliza el Message heredado.

14 AnteriorSiguiente Máquina de Café 14 Una máquina de Café es emulada, a efectos de control de calidad, mediante un programa Java. La máquina sirve una taza de café (75º) a una persona virtual. Dicha persona conoce los valores extremos (ctes) del exceso / ausencia de temperatura de la taza. En caso de no estar dentro de la temperatura normal se lanzaran excepciones. Ver diagrama.

15 AnteriorSiguiente Ejemplo – Máquina de Café

16 AnteriorSiguiente Diseño y Excepciones Generalmente, diferentes componentes o capas van transformando las excepciones para evitar que las mismas generen acoplamiento, o para tener el nivel de detalle necesario. Ejemplo: si una capa de persistencia encuentra una excepción dependiente de la forma de implementar la persistencia, hacer atravesar la misma a través del dominio hasta la interface, acopla estas capas a la implementación de la persistencia. En estos casos, lo que se hace es ir transformando las excepciones a excepciones independientes de la implementación y apropiadas para el lugar donde serán manejadas.


Descargar ppt "Siguiente Excepciones Introducción. AnteriorSiguiente Definición Una excepción es un evento que ocurre durante la ejecución de un programa que desestabiliza."

Presentaciones similares


Anuncios Google