Można spróbować zrobić nic o nim:
public static void exceptionTest() {
makeNullPointer(); //The compiler allows me not to check this
try {
throwAnException(); //I'm forced to handle the exception, but I don't want to
} catch (Exception e) { /* do nothing */ }
}
pamiętać, w prawdziwym życiu to ekstremalnie nierozważne. To może ukryć błąd i sprawić, byś szukał psów przez cały tydzień, podczas gdy problem był naprawdę kotem (ch). (Chodź, umieścić przynajmniej System.err.println()
tam. - Rejestrowanie jest najlepsza praktyka tutaj, jak sugeruje @BaileyS)
Unchecked exceptions in Java rozszerzyć klasę RuntimeException
. ich wyrzucanie nie będzie żądać od swoich klientów catch
:
// notice there's no "throws RuntimeException" at the signature of this method
public static void someMethodThatThrowsRuntimeException() /* no need for throws here */ {
throw new RuntimeException();
}
klas, które rozszerzają RuntimeException
nie będzie wymagać deklaracji throws
również.
I a word from Oracle o tym:
Oto wiersz wskazówka: Jeśli można zasadnie oczekiwać klient, aby odzyskać od wyjątek, sprawiają, że zaznaczone jest wyjątkiem. Jeśli klient nie może nic zrobić, aby odzyskać od wyjątku, uczynić go niezaznaczonym wyjątkiem.
Bardzo ładny post. Inną rzeczą, którą chciałbym zasugerować, jest przynajmniej nagrywanie zignorowanego wyjątku w rejestratorze. –
Chciałem zgodzić się z tym za okropną kalambur, ale nie mogłem zrobić tego samemu. +1 za dobrą odpowiedź – Craig
@Craig Och, daj spokój, kalambur wnosi post na zupełnie nowy poziom: P – acdcjunior