Manejo de Errores Usando Excepciones Java

Todos los m�todos Java utilizan la sentencia throw para lanzar una excepci�n.

Esta sentencia requiere un s�lo argumento, un objeto Throwable. En el sistema Java, los objetos lanzables son ejemplares de la clase Throwable definida en el paquete java.lang. Aqu� tienes un ejemplo de la sentencia throw.

throw algunObjetoThrowable;

Si se intenta lanzar un objeto que no es 'lanzable', el compilador rehusa la compilaci�n del programa y muestra un mensaje de error similar a �ste.

testing.java:10: Cannot throw class java.lang.Integer; it must be a subclass 
of class java.lang.Throwable.
            throw new Integer(4);
            ^

La p�gina siguiente, La clase Throwable y sus Subclases, cuentan m�s cosas sobre la clase Throwable.

Echemos un vistazo a la sentencia throw en su contexto. El siguiente m�todo est� tomado de una clase que implementa un objeto pila normal. El m�todo pop() saca el elemento superior de la pila y lo devuelve.

public Object pop() throws EmptyStackException {
    Object obj;

    if (size == 0)
        throw new EmptyStackException();

    obj = objectAt(size - 1);
    setObjectAt(size - 1, null);
    size--;
    return obj;
}

El m�todo pop() comprueba si hay alg�n elemento en la pila. Si la pila est� vac�a (su tama�o es igual a cero), ejemplariza un nuevo objeto de la clase EmptyStackException y lo lanza. Esta clase est� definida en el paquete java.util. En p�ginas posteriores podr�s ver c�mo crear tus propias clases de excepciones. Por ahora, todo lo que necesitas recordar es que se pueden lanzar objetos heredados desde la clase Throwable.

.�La clausula throws

Habr�s observado que la declaraci�n del m�todo pop() contiene esta clausula.

throws EmptyStackException

La clausual throws especifica que el m�todo puede lanzar una excepci�n EmptyStackException. Como ya sabes, el lenguaje Java requiere que los m�todos capturen o especifiquen todas las excepciones chequeadas que puedan ser lanzadas dentro de su �mbito.

Se puede hacer esto con la clausula throws de la declaraci�n del m�todo.

Para m�s informaci�n sobre estos requerimientos puedes ver Requerimientos Java para Capturar o Especificar.

Tambi�n puedes ver, Especificar las Excepciones lanzadas por un M�todo para obtener m�s detalles sobre c�mo un m�todo puede lanzar excepciones.

COMPARTE ESTE ARTÍCULO

COMPARTIR EN FACEBOOK
COMPARTIR EN TWITTER
COMPARTIR EN LINKEDIN
COMPARTIR EN WHATSAPP
ARTÍCULO ANTERIOR

SIGUIENTE ARTÍCULO