Com ja s'ha dit en una altra resposta, no es recomana captar una excepció de NullPointer. Tanmateix, segur que ho podríeu agafar, com mostra l'exemple següent. Tot i que es pot detectar un NPE, definitivament no hauríeu de fer-ho, però solucioneu el problema inicial, que és el mètode Check_Circular.
És NullPointerException una excepció marcada?
Resposta: NullPointerException no és una excepció marcada. És un descendent de RuntimeException i no està marcat.
En quin cas es llançarà l'excepció NullPointer?
Es llança una excepció de punter nul quan una aplicació intenta utilitzar null en un cas on es requereix un objecte. Aquests inclouen: Cridar el mètode d'instància d'un objecte nul. Accés o modificació del camp d'un objecte nul.
L'excepció capta totes les excepcions?
Com que l'excepció és la classe base de totes les excepcions, capturarà qualsevol excepció.
Per què no hauríeu d'agafar una excepció?
catch(Exception) és una mala pràctica perquè també captura totes les Excepcions d'execució (excepció no marcada). Això pot ser específic de Java: de vegades haureu de cridar mètodes que llancin excepcions marcades. Si això es troba a la vostra capa de lògica empresarial/EJB, teniu 2 opcions: agafar-los o tornar-los a llançar.