Il rethrow più preciso permette di scrivere codice che genera l'eccezione davvero gettato:Java 7 precisa rethrow e l'eredità codice
public void foo(String bar) throws FirstException, SecondException {
try{
// Code that may throw both FirstException and SecondException
}
catch (Exception e){
throw e;
}
}
Prima di Java 7 si doveva scrivere:
public void foo(String bar) throws Exception {
try{
// Code that may throw both FirstException and SecondException
}
catch (Exception e){
throw e;
}
}
mio domanda: esiste uno strumento che permetta di rilevare il lancio impreciso per sostituire "Exception
" con "FirstException, SecondException
"?
Finora, ho controllato che in Eclipse non ci sia un avviso del compilatore. Non ci sono regole in FindBugs o CodePro.
Ti suggerisco di aggiungere la seguente frase alla tua domanda: "Il mio obiettivo è ..." Finora non ti è stato dato un buon consiglio perché le persone hanno indovinato il tuo obiettivo sbagliato. –
Penso che la domanda sia abbastanza chiara: per aggiornare il codice legacy che è stato scritto pigramente per lanciare un'eccezione troppo ampia, esiste uno strumento che trova tale codice in modo che possa essere aggiornato utilizzando la nuova sintassi Java7. – Thilo