Fejlmeddelelse: java.lang.NullPointerException - hvad skal jeg gøre?
Kompilatoren kontrollerer det skrevne program for alt undtagen et: undtagelser fra runtime. En sådan undtagelse er for eksempel NullPointerException, som hører til den essentielle pakke java.lang på Java-programmeringssprog.
Hvornår kaster kompilatoren java.lang.NullPointerException?
Undtagelser forekommer ofte i testfasen. Dette gælder især NullPointerException, som normalt støder på som en nybegynder når det kommer til programmering. Mere specifikt er det en variabel, der peger på et tomt objekt. For eksempel opstår fejlen i følgende tilfælde:
- Når elementet i en matrix er tilgængelig, og elementet ikke har nogen værdi.
- Når du spørger om længden af en matrix, hvis værdi er nul.
- Hvis der blev oprettet et objekt uden den nye operatør, og der forsøges at udføre operationer med referencevariablen.
- I vores eksempel er fjernbetjeningen praktisk talt den referencevariabel (pointer), der peger på det rigtige printerobjekt. Denne variabel bruges til at udføre operationer, som f.eks. Udskrivning af fejlmeddelelser til printeren, beregning af blækniveauer osv. Hvis fjernbetjeningen peger på et tomt objekt eller til intet objekt, har referencevariablen værdien nul.
Sådan rettes fejlmeddelelsen
Undtagelser kan fanges under Java med en " prøv {...} fangst {(Undtagelse e)} " -blok. Imidlertid er denne metode ikke altid nødvendig og skaber også omkostninger. Det er bedre at huske følgende tip:
- Kontroller, om dit objekt er oprettet. Hvis dette ikke er tilfældet, skal du oprette det ved hjælp af kommandosyntaxen " sample object name = new sample object (variables); ".
- Med debugtilstand kan du kontrollere din kode linje for linje og se mellemresultater. Sørg for, at du ikke overskriver dit oprettede objekt eller gemmer det med en NULL-værdi. Dette betyder, at objektet ikke længere er tilgængeligt, og yderligere objektkommandoer udløser fejlen.
- Tip: Hvis du ofte ændrer dit objekt, skal du vænne dig til at kontrollere dit objekt før og efter grundlæggende ændringer ved hjælp af en if-forespørgsel (" if (eksempel objekt ! = NULL) {...} ").
I det næste praktiske tip vil vi forklare, hvordan du kan bruge Lambda Expressions i Java.