Una excepcin indica una condicin anormal durante la ejecucin de un cdigo,
la necesidad urgente de tomar una accin reparadora (de remedio).Si ocurre una excepcin y est activo un segmento de cdigo denominado manejador de excepciones para esa excepcin, entonces el flujo de control se transfiere al manejador. Si en lugar de ello ocurre una propagacin y o existe un manejador esta se propaga al mtodo invocador; si en este caso tampoco se captura se propaga al que a su vez lo llamo; si llega al mtodo main y no es capturada la ejecucin termina. Por ejemplo si se intenta acceder a un elemento que se encuentra fuera de rango valido de un array se produce una violacin del contrato entre el mtodo que controla los ndices (operador [] en java) y el mtodo invocador que utiliza el array Siempre que se produzca una violacin del contrato se debe levantar (alzar) una excepcin cuando esto ocurre esta no desaparece aunque el programador lo ignore, se debe reconocer y manejar caso contrario se propaga dinmicamente hasta alcanzar el nivel ms alto de la funcin (main en java) En general el mecanismo de excepciones en java (y en la mayora de los lenguajes) permite: -
Deteccin de errores Limpieza y salida en caso de errores no manejados Propagacin sistemtica de errores en una cadena de llamadas dinmicas
El mecanismo de manejo de excepciones
El modelo de un mecanismo de excepciones consta, de 5 nuevas palabras reservadas: try, throws, catch y finally Los pasos del modelo son: -
1 el programador intentara (try) una operacin para anticipar errores
Cuando una rutina encuentra un error, se lanza (throw) una excepcin. El lanzamiento (throwing) de una excepcin es el acto de levantar una excepcin
Estrada Maximiliano -
Por ultimo alguien interesado en una condicin de error (para limpieza
y/o recuperacin ) anticipara el error y capturara (catch) la excepcin que se ha lanzado
Este mecanismo se completa con:
-
Un bloque finally que si se especifica, siempre se ejecuta al final de un
bloque try Especificaciones de excepciones que dictamina cuales excepciones, si existen , puede lanzar un mtodo
JAVA incorpora una jerarqua de clases para el manejo de excepciones, la clase
base de la excepciones que se manejan es Exceptin adems obliga a capturar excepciones que pueden ser lanzadas por los mtodos que forman las aplicaciones. Si no se captura la excepcin esta se propaga, la especificacin de este hecho se hace en la cabecera del mtodo TipoAcceso tipo NombreMetodo () throws excepcin Excepcin es la clase de excepcin que se propaga Por ejemplo: para la entrada de datos por teclado se utiliza con frecuencia el mtodo readLine (), programado de tal forma que si se detecta una anomala lanza una excepcin del tipo OIExcepcion Public static void main (string [] args) throws IOException