ePrometeusCorsoJavaJava
testi articoli
Testi Articoli  Download
Home | Basi | Espressioni | Comandi | Classi | Ereditarieta | Eccezioni | Thread | Utilita | 
CorsoJava è ora Video! Free for all!
Clicca Qui!

Eccezioni
Eccezioni
throws
uncaught
Regola
Sintassi
try
eccezioni
catch
matching
propagazione
finally
FileCopy
ereditarietà
trasformazione

<<< trasformazione
I metodi ridefiniti non possono aggiungere nuove eccezioni
Altrimenti codice prima funzionante non funzionerebbe più:
class Acquario {
    ...
    try {
      p.nuota() ; 
    }catch (PesceMortoException pme) {
    ...
   }
}
se aggiungo un PesceAtomico, il nuovo pesce potrebbe sollevare nuove eccezioni imprevedibili
Aggiungere nuove eccezioni derivando una eccezione
In questo modo il codice esistente rimane valido
Si possono riconvertire le eccezioni "anomale"
class PesceMortoPerEsplosioneException 
 extends PesceMortoException { }
class PesceAtomico extends Pesce {
  void nuota() 
   throws PesceMortoPerEsplosioneException
  { 
   try { 
      <operazione-a-rischio-di-esplosione>;
   } catch (EsplosioneException ex) {
      throw new PesceMortoEsplosioneException() ;
   }
  }
}
ePrometeus s.r.l. - Web Software House & Open Source System Integrator
MILANO - SAN BENEDETTO DEL TRONTO(AP)
Contatti: info@eprometeus.com