Está en la página 1de 3

Unidad V Excepciones

Programacin Orientada a Objetos

V. Excepciones
5.1 Definicin de Excepcin
Una excepcin es una condicin anormal que surge en una secuencia de cdigo en el tiempo de ejecucin. En
otras palabras, una excepcin, es un error en tiempo de ejecucin. La Excepcin es un objeto que define una
situacin inusual o errnea en el funcionamiento de un programa. El lenguaje JAVA incorpora soporte para
manejar estas situaciones. Las Excepciones son manejadas por cdigo fuera del flujo normal de control del
programa.
La gestin de excepciones en Java evita estos problemas e incorpora el manejo de errores el tiempo de
ejecucin al mundo de la programacin orientada a objetos.

5.2 Tipos de Excepciones


Todos los tipos de excepciones son objetos de clases derivadas de la clase Throwable (lanzable) definida en
el paquete Java.lang. La figura siguiente muestra algunas de las clases de la jerarqua de excepciones:

Throwable
Exception
RuntimeException
Exception

ClassNotFoundException
IOException
EOFException

Adems, esta clase se encuentra en la parte superior de la jerarqua de clases Excepcin. Inmediatamente
despus de Throwable se encuentra dos subclases que dividen las excepciones en 2 grupos.
Un grupo es el encabezado por Exception. Esta clase se utiliza para condiciones excepcionales que los usuarios
de programas deben capturar. Esta es tambin la clase de la que derivan las subclases necesarias para crear los
tipos propios de excepciones. Una subclase de Exception importante, es la denominada RuntimeException,
cubre excepciones ocurridas al ejecutar operaciones sobre los datos que manipula la aplicacin y que residen en
memoria, por ejemplo, ArithmeticException (la divisin por cero), NullPointerException o
IndexOutOfBoundsException (utilizacin de un ndice de arreglo no valido), NumberFormatException.

1
Instituto Tecnolgico de Toluca

Lic. Alma Patricia Vsquez Gonzlez

Unidad V Excepciones

Programacin Orientada a Objetos

La subclase IOException cubre las excepciones ocurridas al ejecutar una operacin de entrada o salida
(java.io).
El otro grupo est encabezado por la clase Error que define excepciones no esperadas por el programa, en
condiciones normales. El intrprete Java utiliza las excepciones del tipo error para indicar errores relacionados
con el propio tiempo de ejecucin. Un ejemplo de este tipo de error, es el desbordamiento de una pila y otros
que se crean en respuesta a fallos catastrficos que normalmente no pueden ser gestionados por el programa.

5.4 Gestin de Excepciones


Una excepcin en Java, es un objeto que describe una condicin excepcional es decir, un error que ha ocurrido
en una parte de un cdigo. Cuando surge una condicin excepcional, se crea un objeto que representa esa
condicin, y se enva al mtodo que ha originado el error. Ese mtodo puede decidir entre gestionar l mismo la
excepcin o pasarla. En cualquiera de los 2 casos, en algn punto la excepcin es capturada y procesada. Las
excepciones generadas por el cdigo, se usan normalmente para informar de alguna condicin de error, en la
parte del cdigo que llama al mtodo.
Las excepciones generadas por Java se refieren a errores fundamentales que violan las reglas del lenguaje Java o
las restricciones del entorno de ejecucin de Java.
La gestin de excepciones en Java se lleva a cabo mediante cinco palabras clave:
try
catch
throw
throws
finally
Las sentencias del programa que se quiera controlar se incluyen en un grupo o bloque try. El cdigo puede
capturar esta excepcin, utilizando catch, y gestionarla de manera racional. Las excepciones, generadas por el
sistema son automticamente enviadas por el intrprete de Java.
Para enviar manualmente una excepcin se utiliza la palabra clave throw.
Se debe especificar mediante la clusula throws, cualquier excepcin que se enve desde un mtodo.
Se debe poner cualquier cdigo que el programador desee que se ejecute siempre, en el mtodo finally.
Un ejemplo de un bloque de gestin de excepciones es la siguiente:
int dato =0;
try{
dato= Integer.parseInt(BR.readLine( ));
}
catch(NumberFormatException e )
{ System.err.printl(Error: + e.getMessage());
}

finally
{ return dato;
}

2
Instituto Tecnolgico de Toluca

Lic. Alma Patricia Vsquez Gonzlez

Unidad V Excepciones

Programacin Orientada a Objetos

Excepciones de Java
Clase de Excepcin

Significado

ArithmeticException

Una condicin aritmtica excepcional ha ocurrido.


Por ejemplo una divisin por cero (0).
Una matriz fue accedida con un ndice legal o fuera de los lmites
permitidos.
Se intent utilizar null donde se requera un objeto
Se intent convertir una cadena con un
formato inapropiado en un nmero.
Archivo no encontrado
Se encontr el fin de archivo

ArrayIndexOutOfBoundsException
NullPointerException
NumberFormatException
FileNotFoundException
EOFException

Manejo y Lanzamiento de Excepciones


Cuando un mtodo se encuentra con una anomala que no puede resolver lo lgico es que se lance (throw) una
excepcin, esperando que quien lo llam directa o indirectamente lo atrape (catch) y maneje la anomala.
Incluso l mismo podra atrapar y manipular dicha excepcin. Si la excepcin no se atrapa el programa finalizar
automticamente.
Las palabras try y catch trabajan conjuntamente y pueden traducirse as, poner a prueba un fragmento de
cdigo por si se lanza una excepcin si se ejecuta satisfactoriamente continuar si no atrapar la excepcin y
manejarla.

Lanzar una excepcin. Lanzar una excepcin equivale a crea un objeto de la clase de la excepcin para
manipularlo fuera del flujo normal de ejecucin del programa. Para lanzar una excepcin se utiliza la palabra
reservada throw y para crear un objeto, new. Por ejemplo, volviendo al mtodo dato, de la clase leer, expuesta
anteriormente si ocurre un error cuando se ejecuta el mtodo readLine, se supone que este ejecutara una
sentencia similar a la siguiente:
if(error)throw new IOException ();
Esta sentencia lanza una excepcin de la clase IOException lo que implica crear un objeto de esta clase. Un
objeto de estos contiene informacin acerca de la excepcin incluyendo su tipo y su estado del sistema cuando
el error ocurri.

Atrapar una excepcin. Una vez lanzada la excepcin el sistema es responsable de encontrar, a alguien que la
atrape con el objetivo de manipularla. Quien puede hacerlo es el mtodo que hizo la llamada.

3
Instituto Tecnolgico de Toluca

Lic. Alma Patricia Vsquez Gonzlez