Im bardziej precyzyjna rethrow pozwala na pisanie kodu, który zgłasza wyjątek rzeczywiście rzucone:Java 7 precyzyjny rethrow i dziedzictwo kod
public void foo(String bar) throws FirstException, SecondException {
try{
// Code that may throw both FirstException and SecondException
}
catch (Exception e){
throw e;
}
}
Przed Java 7 trzeba było napisać:
public void foo(String bar) throws Exception {
try{
// Code that may throw both FirstException and SecondException
}
catch (Exception e){
throw e;
}
}
My pytanie: czy istnieje narzędzie umożliwiające wykrycie nieprecyzyjnego rzutu w celu zastąpienia "Exception
" za pomocą "FirstException, SecondException
"?
Do tej pory sprawdziłem, że nie ma ostrzeżenia kompilatora w Eclipse. Nie ma reguły w FindBugs lub CodePro.
Proponuję dodać następujące zdanie do pytania: "Mój cel jest ..." Jak dotąd nie otrzymałeś dobrej rady, ponieważ ludzie błędnie odgadywali twój cel. –
Myślę, że pytanie jest całkiem jasne: Aby zaktualizować starszy kod, który został napisany leniwie, aby wyrzucić zbyt szeroki wyjątek, istnieje narzędzie, które znajdzie taki kod, aby można było go zaktualizować za pomocą nowej, wygodnej składni Java7. – Thilo