Mam następujący kod:Jak ignorować Wyjątki w Javie
TestClass test=new TestClass();
test.setSomething1(0); //could, but probably won't throw Exception
test.setSomething2(0); //could, but probably won't throw Exception
chciałbym wykonać: test.setSomething2(0);
nawet jeśli test.setSomething(0)
(linia nad nim) wyrzuca wyjątek. Czy istnieje sposób, aby to zrobić inne niż:
try{
test.setSomething1(0);
}catch(Exception e){
//ignore
}
try{
test.setSomething2(0);
}catch(Exception e){
//ignore
}
mam dużo test.setSomething w rzędzie i wszystkie z nich mogą zgłaszać wyjątki. Jeśli tak, po prostu chcę pominąć tę linię i przejść do następnej.
Dla wyjaśnienia, nie obchodzi mnie, czy zgłasza wyjątek, i nie mogę edytować kodu źródłowego kodu, który zgłasza ten wyjątek.
TO JEST PRZYPADEK, GDZIE NIE ZAPOTRZEBUJĘ O WYJĄTKÓW (proszę nie używać powszechnie ujętych ilościowo stwierdzeń, takich jak "nie należy nigdy ignorować Wyjątków"). Ustawiam wartości jakiegoś Obiektu. Kiedy przedstawiam wartości dla użytkownika, sprawdzam czy null tak czy tak, więc nie ma znaczenia, czy któryś z wierszy kodu zostanie wykonany.
Powinieneś ** nigdy ** nie ignorować wyjątków. Powinieneś ** nigdy ** nie złapać 'wyjątku'.Albo planujesz złapać i obsłużyć wyjątek ** special **, albo nie możesz go obsłużyć, i pozwolić, aby przesiąkł do stosu. –
usuwa 'throws' z sygnatury metody' setSomething1 (int a); ' –
Z mojego doświadczenia wynika, że" prawdopodobnie nie będzie "* prawie na pewno będzie *, po prostu według Prawa Murphy'ego. A jeśli ukryłeś wyjątek, nie będziesz wiedział, kiedy to się stanie. –