Jak już wspomniano w innej odpowiedzi, nie zaleca się przechwytywania wyjątku NullPointerException. Jednak na pewno możesz to złapać, jak pokazuje poniższy przykład. Chociaż NPE można złapać, zdecydowanie nie powinieneś tego robić, ale naprawić początkowy problem, którym jest metoda Check_Circular.
Czy NullPointerException jest sprawdzonym wyjątkiem?
Answer: NullPointerException nie jest sprawdzonym wyjątkiem. Jest potomkiem RuntimeException i nie jest zaznaczony.
W jakim przypadku zostanie zgłoszony wyjątek NullPointerException?
Wyjątek wskaźnika null jest generowany, gdy aplikacja próbuje użyć wartości null w przypadku gdzie wymagany jest obiekt. Należą do nich: Wywołanie metody instancji obiektu null. Uzyskiwanie dostępu lub modyfikowanie pola pustego obiektu.
Czy wyjątek przechwytuje wszystkie wyjątki?
Ponieważ wyjątek jest klasą bazową wszystkich wyjątków, przechwyci każdy wyjątek.
Dlaczego nie powinieneś złapać wyjątku?
catch(Exception) jest złą praktyką, ponieważ przechwytuje również wszystkie wyjątki RuntimeException (niesprawdzony wyjątek). Może to być specyficzne dla Javy: Czasami będziesz musiał wywołać metody, które zgłaszają sprawdzone wyjątki. Jeśli jest to w Twojej warstwie EJB / logiki biznesowej, masz 2 możliwości - złap je lub wyrzuć ponownie.