Sie sind auf Seite 1von 11

UNIDAD 5

EXCEPCIONES

PEREZ VASQUEZ ARCELIA ISABEL

Horario: 14:00-15:00
EXCEPCIONES

Las excepciones son un mecanismo de control de errores en tiempo de ejecucin. Una forma de
hacer que la aplicacin contine la ejecucin si se produce un error.

El programa funciona muy bien cuando


se introducen nmeros, pero cuando se
introduce letras se lanza una excepcin
de concordancia de entrada por que el
valor de entrada no puede convertirse
en un entera usando el mtodo
nextInt().

BLOQUE TRY Y CATCH

En el mtodo obtenEdad() se insertar el bloque try y catch, en este bloque se escriben las
sentencias (edad=scanner.nextInt(); ) que puedan lanzar una excepcin y las sentencias que
queremos ejecutar en respuesta a la excepcin.

Las sentencias en el bloque try se ejecutan en secuencia. Cuando la sentencia lanza una excepcin,
el control se pasa al bloque catch de correspondencia y las secuencias se ejecutan dentro de ese
bloque, la ejecucin contina con la sentencia que sigue en el bloque try ignorando otras sentencias
encontradas en este mismo bloque.
Si ninguna sentencia en el bloque try genera una excepcin entonces el bloque catch se ignora y
continua la ejecucin que sigue a esta sentencia try y catch.

CICLO DEL BLOQUE TRY Y CATCH

Si hay una excepcin dentro del


bloque catch es necesario que se
despliegue un mensaje de error y se
repite la rutina, hasta que la entrada
se correcta. Para ello el bloque try y
catch se pone dentro de un ciclo.

Cuando se lanza una excepcin, un valor de entrada que ha


provocado una excepcin a un permanece en el buffer de
entrada, para ello necesitamos retirar esa basura del
buffer de entrada, de modo que sea posible procesar el
siguiente valor de entrada. Si no se incluye esta sentencia, el
cdigo da por resultado un ciclo infinito.
Hay muchos tipos de excepciones que puede lanzar el sistema de modo que es necesario especificar
cual excepcin se est atrapando en la lista. En este cdigo estamos atrapando la excepcin de falta
de concordancia de entrada el parmetro se representa como una instancia de la clase
InputMismatchException.

CLASE THROWABLE

En esta clase hay dos mtodos definidos


que es posible llamar a fin de obtener
informacin sobre el lanzado de la
excepcin: getMessage() y
printStackTrace(). Estos mtodos se
pueden llamar dentro del bloque catch.
LANZAMIENTO DE EXCEPCIONES Y BLOQUES CATCH MULTIPLES

Cuando se introduce dados


y se tiene condiciones para
la entrada de estos, se
puede definir muchas
sentencias de excepciones
posibles en el bloque catch.

Como por ejemplo si


insertamos una edad
negativa. Esta lazar una
excepcin.

Se lanza una excepcin


usando la sentencia throw,
esta ser una instancia de la
clase Excepcin o de sus
subclases.

Cuando hay muchos


bloques catch, se comprueban en secuencia y debido a que las clases de excepcin constituyen una
jerarqua de herencia, es importante comprobar las clases ms especializadas antes de las clases de
excepcin ms generales.

Si hay un cdigo que requiera ser


ejecutado sin importar que se genera una
excepcin, se usa la palabra reservada
finally.

Es til en una situacin en la que se


necesita ejecutar algn cdigo de
limpieza despus de la sentencia try y
catch.
PROPAGACION DE EXCEPCIONES

Cuando en el cuerpo de un metoo se lanza una excepcion el la cabecera hay que aadir una clausula
Throws que incluye una lista de excepciones que se puedan producir al invocar un metodo. Para
esta declaracion se usa la palabra reservada Throws.

Un mtodo consiste en propagar la excepcin declarndolo como se aprecia en el cdigo. Jams


lanzar una excepcin en tanto la clase se programe correctamente. La nica ocasin en que este
constructor puede lanzar una excepcin es cuando el valor LIMITE_INFERIOR_DEFINIDO o
LIMITE_SUPERIOR_DEFINIDO se establece en forma errnea.
EXCEPCIONES DEFINIDAS POR EL PROGRAMADOR

En vez de utilizar clases de excepciones genricas, se puede definir propias clases de excepciones a
fin de proporcionar informacin til al cliente.

Cuando se crea una clase personalizada de excepcin, es necesaria definirla como una excepcin
con comprobacin, la eleccin ms lgica para su superclase es la clase Excepcin, esta clase
personalizada no debe definirse como una excepcin sin comprobacin.

El objetivo es asegurar que los clientes programadores manejen las excepciones lanzadas de la clase
personalizada explcitamente en su cdigo, a fin de incrementar la robustez de todo programa.
ASERCIONES

Una asercin en java es una facilidad de lenguaje que se usa para detectar errores lgicos en un
programa.

EJEMPLO DE DESARROLLO

En este programa se hace uso de las varias excepciones estudiadas anteriormente


Clase Dormitorio
Clase residente

Clase VigilaEntrada
Clase ManejaEntrada

Clase Puerta

Das könnte Ihnen auch gefallen