Vous êtes sur la page 1sur 9

Excepciones en JAVA

PROGRAMACIN II

Qu es una EXCEPCIN?
Una excepcin es un evento que ocurre

durante la ejecucin del programa que interrumpe el flujo normal de las sentencias. O sea, algo que altera la ejecucin normal. Muchas clases de errores pueden generar excepciones -- desde problemas de hardware, como la avera de un disco duro, a los simples errores de programacin, como tratar de acceder a un elemento de un array fuera de sus lmites.

Tipos de errores al ejecutar


Se pueden dar varios tipos de errores:
Al tratar de acceder a elementos de arreglos con un

ndice mayor al del ltimo elemento del arreglo, dato de una pila vaca, etc. Divisiones para cero. Manejo de archivos.
No existe, no se tienen suficientes permisos, etc.

Errores accediendo a bases de datos. Limitaciones fsicas (disco duro daado).

Ejemplo de uso de excepciones


Este cdigo

public class Hello { public static void main(String argv[]){ int uno_diez[] = new int[10]; uno_diez[12] = 10; } } Producira esto. Exception in thread "main"java.lang.ArrayIndexOutOfBoundsException: 12 at Hello.main(Hello.java:7)

Y lo haramos as, de manera que el programa no finalizara

con ese error, sino que podemos personalizar un mensaje y decidir si continuar o no. public class Hello { public static void main(String argv[]){ int uno_diez[] = new int[10]; try { uno_diez[12] = 10; } catch(java.lang.ArrayIndexOutOfBoundsException) { System.out.println(Error, hemos sobrepasado el tamao del array); // aqu podemos hacer lo que queramos } } }

Requerimientos Java para Capturar o Especificar Excepciones


Capturar (try-catch). Un mtodo puede capturar una

excepcin proporcionando un manejador para ese tipo de excepcin. Especificar (throws). Si un mtodo decide no capturar una excepcin, debe especificar que puede lanzar esa excepcin.
Por qu hicieron este requerimiento los diseadores de Java? Porque una excepcin que puede ser lanzada por un mtodo es realmente una parte del interface de programacin pblico del mtodo. As, en la firma

Capturar y EXCEPCIONES

manejas

El bloque try El primer paso en la escritura de una manejador de excepciones es poner la sentencia Java dentro de la cual se puede producir la excepcin dentro de un bloque try. Se dice que el bloque try gobierna las sentencias encerradas dentro de l y define el mbito de cualquier manejador de excepciones (establecido por el bloque catch) asociado con l. Los bloques catch Despus se debe asociar un manejador de excepciones con un bloque try proporcionndole uno o ms bloques catch directamente despus del bloque try. El bloque finally El bloque finally de Java proporciona un mecanismo que permite a sus mtodos impiarse a si mismos sin importar lo que sucede dentro del bloque try. Se utiliza el bloque finally para cerrar ficheros o liberar otros recursos del sistema despues de que occurra una excepcin.

EJEMPLO
try { ... } catch (ArrayIndexOutOfBoundsException e) { System.err.println("Caught ArrayIndexOutOfBoundsException: " + e.getMessage()); } catch (IOException e) { System.err.println("Caught IOException: " + e.getMessage()); }

Declarando Excepciones
Un mtodo que llama a otro, y que ste a su vez lanza una

excepcin, se debe declarar de la siguiente forma: modificador tipodatoretorno nombremetodo(.., ...) throws NombreClasedeExcepcion Ejemplo: public static String getInput(String prompt) throws IOException { /* cdigo */ } Mltiples excepciones pueden ser separadas por comas. Ejemplo: public void read(BufferedReader in ) throws IOException, ClassNotFoundException{ /* cdigo */ }

Vous aimerez peut-être aussi