EXCEPCIONES
INTRODUCCIÓN
Cuando
sucede un evento anormal en la ejecución de un programa y lo detiene decimos que se ha producido una excepción.
Cualquier programa bien escrito debe ser
capaz de tratar las posibles excepciones que pueden ocurrir en su ejecución de manera inteligente y de
recuperarse, si es posible, de ellos.
Con los mecanismos de recuperación ante
excepciones construimos programas
robustos y con capacidad de recuperación ante errores más o menos previsibles
que se pueden producir en el momento en que se ejecuta el programa.
En Java
una excepción es un objeto que avisa que ha ocurrido alguna condición inusual.
Existen muchos objetos de excepción predefinidos, y también podremos crear los nuestros propios.
Cuando se capturan excepciones en Java las sentencias
que pueden causar un error se deben
insertar en un bloque formado por try y catch, a continuación, en catch debemos tratar esos posibles
errores. También existe la posibilidad de
lanzar una excepción cuando se produzca una determinada situación en la ejecución
del programa, para hacerlo utilizaremos la instrucción throw.
TRY
Define
un bloque de código donde se puede generar una excepción. El bloque try va seguido inmediatamente de uno o más bloques
catch y opcionalmente de una cláusula
finally. Cuando se lanza una excepción el control sale del bloque try actual y
pasa a un manejador catch apropiado.
La sintaxis general del bloque try consiste en
la palabra clave try y una o más sentencias
entre llaves.
try
{
// Sentencias Java
}
Se
pueden presentar dos situaciones diferentes a la hora de definir el bloque
try: Podemos tener más de una sentencia
que generen excepciones, en cuyo caso podemos definir bloques individuales para
tratarlos. Podemos tener agrupadas en un
mismo bloque try varias sentencias que puedan lanzar excepciones, con lo que
habría que asociar múltiples controladores a ese
bloque.
Será
la decisión del programador utilizar una forma u otra de controlar las
excepciones.
CATCH
Define el bloque de
sentencias que se ejecutarán cuando se haya
producido una excepción en un bloque try.
La
sintaxis general de la sentencia catch en Java es la siguiente:
catch( TipoExcepcion nombreVariable ) {
// sentencias Java
}
Se pueden colocar sentencias catch sucesivas,
cada una controlando una excepción diferente.
No debería intentarse capturar todas las excepciones
con una sola cláusula ya que representa un uso demasiado general y podrían
llegar muchas excepciones.
catch( Exception e ) { … } //
THROW
La sentencia throw se ejecuta para indicar que
ha ocurrido una excepción, o lanzamiento
de una excepción. La sentencia throw especifica
el objeto que se lanzará. La forma general de la sentencia throw es:
throw ObjetoThrowable;
El
flujo de la ejecución se detiene inmediatamente después de la sentencia throw, y nunca se llega a la sentencia
siguiente, ya que el control sale del bloque try y pasa a un manejador catch
cuyo tipo coincide con el del objeto. Si
se encuentra, el control se transfiere a esa
sentencia. Si no, se inspeccionan los siguientes bloques hasta que el gestor
de excepciones más externo detiene el programa.
FINALY
El bloque de código definido en finally se
ejecuta siempre, haya o no excepción, este es opcional.
TIPOS DE EXCEPCIONES
Excepciones
predefinidas más comunes:

int i = 12 / 0;


y = (Prueba)x; // donde x no es de
tipo Prueba
NegativeArraySizeException
:Puede ocurrir si se intenta definir el tamaño de un array con un número
negativo.
ArrayIndexOutOfBoundsException :Se intenta
acceder a un elemento de un array que está fuera de sus límites.
NoClassDefFoundException :Se referenció una
clase que el sistema es incapaz de encontrar.
No hay comentarios:
Publicar un comentario