Questa feature introdotta con la Java 7 e ben spiegata nel sito oracle (http://docs.oracle.com/javase/7/docs/technotes/guides/language/catch-multiple.html#rethrow) consente di rilanciare eccezioni specifiche senza dover utilizzare la generica Exception.
Il compilatore infatti a Runtime è in grado di capire di quale eccezione si tratta.
Vediamo un esempio:
Nelle versioni precedenti di Java saremmo stati costretti a mettere nel throws Exception, adesso invece possiamo rilanciare le nostre eccezioni specifiche.
Il compilatore infatti a Runtime è in grado di capire di quale eccezione si tratta.
Vediamo un esempio:
public class Exceptions {
static class Eccezione1 extends Exception { }
static class Eccezione2 extends Exception { }
public static void rethrowException(String exceptionName) throws Eccezione1,Eccezione2 {
try {
switch(exceptionName){
case "uno":
throw new Eccezione1();
case "due":
throw new Eccezione2();
default:
System.out.println("Nessuna eccezione");
}
} catch (Exception e) {
throw e;
}
}
}
Nelle versioni precedenti di Java saremmo stati costretti a mettere nel throws Exception, adesso invece possiamo rilanciare le nostre eccezioni specifiche.
Nessun commento:
Posta un commento