Check Exceptions Uncheck Exceptions

Check Exceptions Uncheck Exceptions
Hoy tuve la necesidad de reveer algunas cuestiones de java referidas a los tipos de excepciones existentes.
Bien en la imagen se representa un esquema de donde provienen los errores y las excepciones , que como se ve
ahí heredan de Throwable.
throwable

Ahora paso a aclarar que es cada uno.

Errores.
Los errores son extensiones de la clase error. Si se genera un error, normalmente indica una falla fatal y el programa deberá cerrarse. ( ej, falta de memoria, incapacidad a la hora de cargar una clase.. )

Uncheck Exceptions ( de tiempo de ejecución)
Como habíamos visto en la imagen estas heredan de RuntimeException, Todas estas excepciones de tiempo de ejecución estándar (IllegalArgumentException, NullPointerException, IllegalStateException).
Se puede decidir que hacer con una excepción no controlada (uncheck) las puede comprobar , manejar o incluso ignorar, pero si se produce una excepción y el programa no lo maneja, JVm termina el programa e imprime el nombre de la excepción y un rastro de pila.

Check Exceptions
Son subclase de Exception , estas se deben obtener y manejar en alguna part de la aplicación, el compilador aplica esta regla.
Si desea crear una excepción propia esta debe heredar de Exception.

He aquí un método que produce una check exception  , y otro método que se llama:

public class BadUrlException extends Exception {
public BadUrlException(String s) {
super(s);
}
}
public void storeDataFromUrl(String url){
try {
String data = readDataFromUrl(url);
} catch (BadUrlException e) {
e.printStackTrace();
}
}
public String readDataFromUrl(String url)     throws BadUrlException{
if(isUrlBad(url)){
throw new BadUrlException("Bad URL: " + url);
}
String data = null;
//read lots of data over HTTP and return
//it as a String instance.

return data;
}

Como se puede ver el readDataFromUrl () método lanza una BadUrlException. para eso se creo BadUrlException . BadUrlException es una excepción check, ya que se extiende java.lang.Exception.

Saludos!!

fuentes.

Oracle University

Jenkov.com

Anuncios

About exequielc

Hola! Estás en el blog de Exequiel Catalani. Como es un blog, se trata de una extensión más o menos lineal de las cosas que hago y pasan por mi cabeza: ciberculturas, videos de la red, nuevos medios y tecnologia, y Programacion etc...

Responder

Por favor, inicia sesión con uno de estos métodos para publicar tu comentario:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: