Quindi se parliamo di eccezioni unchecked (tutte le sottoclassi di RuntimeException) è sufficiente utilizzare throw quindi lanciando l'eccezione ma senza preoccuparsi di catturarla tramite il try-catch.
Quello che non mi è chiaro però è se c'è differenza tra lanciare una eccezione e gestirla altrove oppure lanciarla e gestirla nel metodo stesso.
Cioè, se questi due frammenti di codice sono equivalenti:
codice:public class Esempio { ... public void aggiungi() { try { ... throw new EccezioneException(); } catch (EccezioneException exc) { ... } } ... }codice:public class Principale { public static void main(String args[]) { Esempio esempio = new Esempio(); try { esempio.aggiungi(); } catch (EccezioniException exc) { ... } } } public class Esempio { ... public void aggiungi() throws EccezioneException { ... throw new EccezioneException(); } ... }

Rispondi quotando