Você está na página 1de 4

Unidad V ISC Excepciones

5.1 Definición

Una excepción es una situación anómala que puede provocar que el programa no funcione de
forma correcta o termine de forma inesperada. Ejemplos de situaciones que provocan una
excepción:
 No hay memoria disponible para asignar
 Acceso a un elemento de un array fuera de rango
 Leer por teclado un dato de un tipo distinto al esperado
 Error al abrir un fichero
 División por cero
 Problemas de Hardware

Si la excepción no se trata, el manejador de excepciones realiza lo siguiente:
 Muestra la descripción de la excepción.
 Muestra la traza de la pila de llamadas.
 Provoca el final del programa.

Ejemplos de código Java que provocan una excepción:

Ejemplos de excepciones en Java

1
El manejo de excepciones proporciona una separación entre el código básico y el código que
maneja los errores, haciéndolo más legible.
Utilizando excepciones se consigue:

 Separar las instrucciones del programa de las del tratamiento de errores.


 Evitar llenar el código del programa de instrucciones de comprobación (if, switch, etc).
 El código es más simple de escribir ya que no se fuerza al programador a comprobar los
errores constantemente.

¿Qué ocurre cuando se produce una excepción?


Cuando ocurre una excepción:
 La Máquina Virtual Java crea un objeto excepción y lo lanza. El objeto excepción creado
contiene información sobre el error. La ejecución normal del programa se detiene.
 El sistema busca en el método donde se ha producido la excepción un manejador de
excepciones que capture ese objeto y trate la excepción.
 Si el método no contiene un manejador para la excepción se busca en el método que llamó a
este y así sucesivamente en toda la pila de llamadas.
 Cuando se encuentra un manejador apropiado se le pasa la excepción. Un manejador de
excepciones es considerado apropiado si el tipo de objeto excepción lanzado es compatible al
tipo que puede manejar.
 Si no se encuentra un manejador adecuado la Máquina Virtual Java muestra el error y acaba
el programa.

5.2 Tipos de excepciones

Tenemos 3 grandes tipos en la clasificación de las excepciones, las que ocurren cuando hay un error
de sistema, las que ocurren cuando hay un error en el tiempo de ejecución y las excepciones de las
clases. Veamos un poco de cada uno de estos tipos de excepciones para mejorar nuestro
entendimiento de las mismas.

 Errores de sistema
Este tipo de excepciones son arrojadas cuando ocurren por la Java Virtual Machine o JVM, y
están comprendidas dentro de la clase Error, estas se utilizan para describir errores internos
del sistema, aunque realmente este tipo de errores ocurre con muy poca frecuencia y no
podemos hacer mucho más que informar al usuario y terminar el programa.

 Excepciones en tiempo de ejecución ( Excepciones estándar)


Están representadas por la clase RuntimeException como habíamos indicado y se utiliza
para describir errores de programación, como por ejemplo una declaración no adecuada de
una variable, el uso de un tipo de dato prohibido, etc. : Son excepciones que deben ser
manipuladas, se producen cuando se ejecuta una división por cero o se trata de acceder a un
arreglo con un índice fuera de límites son generadas por errores en el código del programa.

 Excepciones
Este tipo está representado por la clase Exception y describe los problemas que pueden
ocurrir en nuestro programa y que podemos manejar, de forma que el usuario no vea
terminada la aplicación de forma abrupta. El programador puede generar una excepción
manualmente utilizando la estructura throw. Sin importar cómo se produjo la excepción, se
maneja de la misma forma.

2
JERARQUÍA DE EXCEPCIONES
Todas las excepciones lanzadas automáticamente en un programa Java son objetos de la
clase Throwable o de alguna de sus clases derivadas.

La clase Throwable deriva directamente de Object y tiene dos clases derivadas directas:
Error y Exception.

Resumen de la jerarquía de clases derivadas de Throwable.

3
La clase Error está relacionada con errores de la máquina virtual de Java. Generalmente estos
errores no dependen del programador por lo que no nos debemos preocupar por tratarlos, por
ejemplo OutOfMemoryError, StackOverflowError, errores de hardware, etc.

En la clase Exception se encuentran las excepciones que se pueden lanzar en una aplicación. Tiene
varias subclases entre ellas:
 RuntimeException: excepciones lanzadas durante la ejecución del programa. Por ejemplo:
ArithmeticExcepcion, NullPointerException, ArrayIndexOutOfBoundsException, etc.
Pertenecen al paquete java.lang.
 IOException: excepciones lanzadas al ejecutar una operación de entrada-salida. Pertenecen
al paquete java.io.
 ClassNotFoundException: excdepción lanzada cuando una aplicación intenta cargar una clase
pero no se encuentra el fichero .class correspondiente

Você também pode gostar