Excepciones en java

Solo disponible en BuenasTareas
  • Páginas : 3 (582 palabras )
  • Descarga(s) : 0
  • Publicado : 11 de agosto de 2010
Leer documento completo
Vista previa del texto
Programación avanzada en Java

Miguel Ángel Corella 26 de Septiembre de 2005

Excepciones

Excepciones (I)
•  Interrupciones de ejecución y/o saltos dentro de un programa de maneraindependiente a su localización. •  El salto va acompañado de cierta información referente a la excepción (p.e. tipo de excepción, motivo…). •  Utilidad principal: Tratamiento de errores.
– throw: Lanza unaexcepción y envía información sobre el error ocurrido. – catch: Recoge la excepción y la información enviada.

Excepciones (y II)
void f () throws DivisionCero { ... if (...) throw new DivisionCero(x, y); ... }

try { ... obj.f (); ... } catch (DivisionCero obj) { ... }

Ejemplo desarrollado (I)
•  Lanzamiento de excepciones:
class CuentaBancaria { ... boolean bloqueada; ... voidretirar (long cantidad) throws SaldoInsuficiente, CuentaBloqueada { if (bloqueada) throw new CuentaBloqueada (numero); else if (cantidad > saldo) throw new SaldoInsuficiente (numero, saldo); else saldo -=cantidad; } }

Ejemplo desarrollado (II)
•  Clases para excepciones:
class SaldoInsuficiente extends Exception { long numero, saldo; SaldoInsuficiente (long num, long s) { numero = num; saldo = s;} String descripcion () { return "Saldo insuficiente en cuenta " + numero + "\nDisponible: " + saldo; } } class CuentaBloqueada extends Exception { long numero; CuentaBloqueada (long num) { numero =num; } String descripcion () { return "La cuenta " + numero + " esta bloqueada"; } }

Ejemplo desarrollado (III)
•  Captura y procesamiento de excepciones:
static public void main (String args[]){ try { new CuentaBancaria () .retirar (100000); } catch (SaldoInsuficiente excep) { System.out.println (excep.descripcion ()); } catch (CuentaBloqueada excep) { System.out.println (excep.descripcion()); } }

Se ejecuta el primer catch de tipo compatible

Ejemplo desarrollado (y IV)
•  ¿Y si no se capturan las excepciones?
static public void main (String args[]) throws CuentaBloqueada,...
tracking img