You are on page 1of 13

Aprende haciendo

Desarrollo de Software I

Excepciones

Derechos reservados

ndice Objetivo Introduccin Tipos de Errores Qu es una Excepcin? Tipos de Excepciones Gestin de Excepciones Excepciones Personalizadas

I S I L

D S W 1

Derechos reservados

Objetivo Control de errores en tiempo de ejecucin.

I S I L

D S W 1

Derechos reservados

Introduccin
Uno de los mayores problemas en la programacin es el tratamiento de errores, que pueden ser generados por:
Fallas o limitaciones del hardware (por ejemplo errores de lectura de archivos) Fallas en el software (casos en los cuales no se cumple una determinada condicin).

Para facilitar el tratamiento de errores en Java se ha creado el concepto de Excepciones, el cual se refiere a una situacin de error en la ejecucin de un programa, cada vez que ocurre una excepcin (un error) el programa debe de tratarla, normalmente mostrando un mensaje de error y ejecutando alguna rutina de tratamiento de errores.

I S I L

D S W 1

Derechos reservados

Tipos de Errores Errores de Sintaxis Los errores en la sintaxis son causados cuando el compilador de Java (javac) no puede reconocer una instruccin. Esto causa que el compilador devuelva un mensaje de error, usualmente con una lnea de cdigo de referencia. Tambin se conoce a los errores de sintaxis como errores en tiempo de compilacin.

I S I L

D S W 1

Derechos reservados

Tipos de Errores Errores de Lgica Los errores de lgica son conocidos como BUGS. Estos son los errores que nos tomarn un tiempo hasta encontrarlos. Si damos a elegir, cualquier programador elegira los errores en tiempo de compilacin.

Para encontrar un error de lgica debemos identificar la clase donde podra estar el error, y si es posible el mtodos o posibles mtodos donde podra estar el error, luego de eso hacer una depuracin (Debug) lnea por lnea (trace) en cada uno de los mtodos.

I S I L

D S W 1

Derechos reservados

Tipos de Errores Errores de Ejecucin Los errores de ejecucin se producen cuando la aplicacin esta en produccin prueba (Testing), y aparecen por una situacin anormal durante la ejecucin de alguna instruccin.

Por ejemplo:
Una divisin por cero. No se tiene permiso de escritura sobre un archivo. La base de datos no existe. No se tiene permiso de acceso a una base de datos.

I S I L

D S W 1

Derechos reservados

Qu es una Excepcin?
Una excepcin en Java es un objeto que describe una condicin excepcional, es decir, un error que se ha dado en una parte del cdigo. Cuando se origina un error se produce una condicin de excepcin, se crea un objeto que representa esa excepcin y se lanza al mtodo que ha causado el error. Este mtodo puede elegir entre gestionar l mismo la excepcin pasarla al mtodo que lo ha invocado. De cualquiera de las dos formas, en un punto determinado se capturar la excepcin y se procesar. Las excepciones pueden ser generadas por el intrprete de Java o de forma manual por el propio cdigo. Normalmente, las excepciones generadas por Java estn relacionadas con errores fundamentales que violan las reglas del lenguaje Java o las restricciones del entorno de ejecucin Java. Las excepciones generadas de forma manual se utilizan generalmente para informar acerca de alguna condicin de error personalizada, por ejemplo, un error en el proceso de la lgica del negocio.
I S I L D S W 1

Derechos reservados

Tipos de Excepciones

I S I L

D S W 1

Derechos reservados

Gestin de Excepciones Esquema General


try{ // Bloque de instrucciones a controlar } catch ( TipoDeExcepcin1 var1 ) { // Gestin de excepcin de tipo TipoDeExcepcin1 } catch ( TipoDeExcepcin2 var2 ) { // Gestin de excepcin de tipo TipoDeExcepcin2 } ... finally { // Bloque de instrucciones que siempre se debe ejecutar

}
I S I L D S W 1

Derechos reservados

10

Gestin de Excepciones

Instruccin throw
Sirve para generar excepciones explcitamente.
try{ if( n2 == 0 ) { throw new Exception("n2 debe ser mayor que 0"); } } catch ( Exception e ) { // Gestin de excepcin }

I S I L

D S W 1

Derechos reservados

11

Gestin de Excepciones Palabra clave: throws


Si un mtodo es capaz de generar una excepcin que l mismo no puede gestionar, se debe especificar el comportamiento de manera que los mtodos que llamen a ese primer mtodo puedan protegerse contra esa excepcin. Para ello se debe incluir la clusula throws en la definicin del mtodo. La clusula throws declara una lista de excepciones que el mtodo puede lanzar. Esto es necesario para todas las excepciones, excepto las de tipo Error RuntimeException, o cualquiera de sus subclases. Todas las dems excepciones que un mtodo puede lanzar se deben declarar en la clusula throws, si no es as se produce un error de compilacin.

tipo nombre_mtodo ( lista_de_parametros ) throws lista_de_excepciones { // Implementacin }

I S I L

D S W 1

Derechos reservados

12

Bibliografa
Lenguaje de Programacin Java 2 Versin 5 Eric Gustavo Coronel Castillo Desarrollando Soluciones con Java y MySQL Server Eric Gustavo Coronel Castillo Programacin Java 2 Joel Carrasco Mooz Piensa en Java Bruce Eckel Java Programming Language Student Guide Sun Microsystems Como Programar en Java Deitel y Deitel Java 2 Steven Holzner Aprende Java como si estuviera en primero Javier Garca de Jaln et al
I S I L D S W 1

Derechos reservados

13

You might also like