martes, 15 de abril de 2008

MANEJO DE EXCEPCIONES EN JAVA

El manejo de excepciones es un mecanismo de algunos lenguajes de programación, que permite definir acciones a realizar en caso de producirse una situaciones anomala (excepción) producida durante la ejecución del programa.
La acción a realizar suele consistir en una acción correctiva, o la generación de un informe acerca del error producido.
Ejemplos de lenguajes con gestión de excepciones son Java, Net, C++, Objective-C, Ada, Eiffel, y Ocaml.

Implementación en Java

La captura de excepciones se implementa en el lenguaje Java con el bloque try/catch/finally. El capítulo 9 de Thinking in Java es una excelente introducción al tema (que vale la pena leer aunque seas un programador senior).1
try {2
// código sospechoso de producir excepciones3
} catch(Excepcion e){4
// registra el error y/o relanza la excepción5
} finally {6
// libera recursos7
}

La excepción a capturar puede ser cualquier subclase de Throwable.
El código del finally se ejecutará siempre. Una excepción en el try, o en el bloque catch no impedirán su ejecución.
Si el bloque finally lanza una excepción, quedarán descartadas excepciones anteriores. Es decir, una excepción en el finally oculta excepciones anteriores.[1]

EJEMPLO:

A continuación se muestra cómo se utilizan las excepciones, reconvirtiendo en primer lugar el applet de saludo a partir de la versión iterativa de HolaIte.java:
import java.awt.*;
import java.applet.Applet;

public class HolaIte extends Applet {
private int i = 0;
private String Saludos[] = {
"Hola Mundo!",
"HOLA Mundo!",
"HOLA MUNDO!!"
};

public void paint( Graphics g ) {
g.drawString( Saludos[i],25,25 );
i++;
}
}

[1] http://www.1x4x9.info/files/excepciones/html/online-chunked/index.html#N10028

No hay comentarios: