Get Started. It's Free
or sign up with your email address
Excepciones by Mind Map: Excepciones

1. Manejando las excepciones?

1.1. El manejo de excepciones se logra con el bloque: try { // código } catch (StackError e ) { //código que se hace cargo del error reportado en e }

1.1.1. El manejo de excepciones se logra con el bloque try. try { // código } catch (StackError e ) { // código para manejar el error de stack } catch (MathError me) { // código para manejar el error matemático indicado en me. }

2. Captura de excepciones

2.1. El bloque try tiene la forma general: try { //código } catch (e-type1 e ) // sentencias { } catch (e-type2 e ) { // sentencias } ... finally { //sentencias }

2.1.1. La cláusula FINALLY es ejecutada con posterioridad cualquiera sea la condición de término del try (sin o con error). Esta sección permite dejar las cosas consistentes antes del término del bloque try.

3. Exixten 2 tipos de excepciones: 1.Predefinidas en el sistema (Unchecked) 2Generadas por el programador (Checked)

3.1. 1. Predefinidas en el sistema (Unchecked) Se lanzan automáticaticamente cuando se realiza una operación no valida- -acceso a un objeto que no existe, -acceso a una posicion de una array que no existe, -division por cero

3.1.1. Predefinidas en el sistema

3.2. 2.Generadas por el programador -El programa explícitamente genera una excepción al detectar una situación de error que no se puede resolver en ese contexto -Útil en situaciones de prueba y depuración

3.2.1. public class Matematicas { public double dividir(double a, double b) throws Exception { if (b == 0) { throw new Exception("El argumento b no puede ser 0"); } return a / b; } } El método dividir lanza en la línea 4 una Checked Exception por lo tanto el método lo declara mediante throws. Ahora cualquiera que llame al método dividir está obligado a tratar la excepción Exception: public class Main { public static void main(String[] args) throws Exception { Matematicas matematicas=new Matematicas(); double c=matematicas.dividir(-1.6, 0); } }

4. Algo importante!!

4.1. Ojo: Java posee mecanismos para enfrentar errores detectados durante la ejecución.

4.2. En métodos siempre es posible retornar un código de error.

4.3. Se puede asignar una variable de error “global”

4.4. Se puede imprimir un mensaje de error.

4.5. Las soluciones previas suelen ser usadas en tareas en la Universidad pero generalmente no son aceptable en productos comerciales.

4.6. Ojo: Java ofrece un mecanismo para señalar excepciones.

4.7. En Java los objetos lanzados deben ser instancias de clases derivadas de Throwable.

5. Jerarquia de exepciones

6. Checked y Unchecked

6.1. 1.Excepciones Unchecked (no Verificada) -Las excepciones Unchecked son aquellas que no se declaran en el método y que no obligan al que lo llama a hacer un tratamiento de dicha excepción. -Son excepciones Unchecked todas aquellas excepciones que heredan de la clase RuntimeException.

6.2. 2.Excepciones checked (Verificadas) - Objetos de la clase Exception o cualquier otra clase que hereda de ella, excepto si el objeto es de la clase RuntimeException o cualquier otra clase que herede de ésta última - Las excepciones Checked son aquellas que deben declararse en el método mediante la palabra throws y que obligan al que lo llama a hacer un tratamiento de dicha excepción.