Nagu juba teises vastuses öeldud, ei soovitata tabada NullPointerExceptioni. Siiski võite selle kindlasti tabada, nagu näitab järgmine näide. Kuigi NPE võib kinni jääda, ei tohiks te kindlasti seda teha, vaid parandada esialgse probleemi, milleks on meetod Check_Circular.
Kas NullPointerException on märgitud erand?
Vastus: NullPointerException ei ole märgitud erand. See on RuntimeExceptioni järeltulija ja seda ei ole märgitud.
Millisel juhul visatakse NullPointerException?
Null-osuti erand tehakse siis, kui rakendus proovib kasutada nulli juhul, kui kus on nõutav objekt. Nende hulka kuuluvad: Nullobjekti eksemplari meetodi kutsumine. Nullobjekti väljale juurdepääs või selle muutmine.
Kas erand tabab kõik erandid?
Kuna erand on kõigi erandite põhiklass, see tabab kõik erandid.
Miks te ei peaks erandit tabama?
catch(Exception) on halb tava, sest see püüab kinni ka kõik RuntimeExceptioni (märgistamata erand). See võib olla Java-spetsiifiline: mõnikord peate kutsuma meetodeid, mis loovad kontrollitud erandeid. Kui see on teie EJB / äriloogika kihis, on teil kaks valikut – püüdke need kinni või visake uuesti.