Feilmelding: java.lang.NullPointerException - hva gjør jeg?
Kompilatoren sjekker det skrevne programmet for alt unntatt ett: unntak av runtime. Et slikt unntak er for eksempel NullPointerException, som tilhører essensielle pakken java.lang på programmeringsspråket Java.
Når kaster kompilatoren java.lang.NullPointerException?
Unntak forekommer ofte i testfasen. Dette gjelder spesielt NullPointerException, som vanligvis blir møtt som en nybegynner når det kommer til programmering. Mer spesifikt er det en variabel som peker på et tomt objekt. For eksempel oppstår feilen i følgende tilfeller:
- Når elementet i en matrise er tilgjengelig og elementet ikke har noen verdi.
- Når du spør i lengden på en matrise hvis verdi er null.
- Hvis et objekt ble opprettet uten den nye operatøren, og det blir gjort forsøk på å utføre operasjoner med referansevariabelen.
- I vårt eksempel er fjernkontrollen praktisk talt referansevariabelen (pekeren) som peker til det virkelige skriverobjektet. Denne variabelen brukes til å utføre operasjoner som å sende ut feilmeldinger til skriveren, beregne blekknivåer osv. Hvis fjernkontrollen peker på et tomt objekt eller til ingen objekt, har referansevariabelen verdien null.
Slik løser du feilmeldingen
Unntak kan fanges opp under Java med en " prøve {...} fangst {(unntak e)} " -blokk. Imidlertid er denne metoden ikke alltid nødvendig, og skaper også overhead. Det er bedre å huske følgende tips:
- Sjekk om objektet ditt er opprettet. Hvis dette ikke er tilfelle, oppretter du det med kommandosyntaxen " sample object name = new sample object (variables); ".
- Med feilsøkingsmodus kan du sjekke kodene dine linje for linje og se mellomliggende resultater. Forsikre deg om at du ikke overskriver det opprettede objektet eller lagrer det med en NULL-verdi. Dette betyr at objektet ikke lenger er tilgjengelig, og ytterligere objektkommandoer utløser feilen.
- Tips: Hvis du endrer objektet ofte, blir du vant til å sjekke objektet ditt før og etter grunnleggende endringer ved å bruke et if-forespørsel (" if (eksempelobjekt! = NULL) {...} ").
I det neste praktiske tipset vil vi forklare hvordan du kan bruke Lambda Expressions i Java.