Slik løser du java.lang.NullPointerException

Slik Loser Du Java Lang Nullpointerexception



I programmeringsspråk lar det å støte på feil oss utføre ulike funksjoner på riktig måte ved å spørre utvikleren. I et slikt tilfelle kan det være tilfeller der utvikleren kan møte ' java.lang.NullPointerException 'på en bestemt' null ”-verdi mens du håndterer bulkdata. Dette unntaket må håndteres for å strømlinjeforme kodefunksjonene.

Denne bloggen vil utdype tilnærmingene for å takle ' java.lang.NullPointerException '.







Hvordan løser jeg 'java.lang.NullPointerException'?

« java.lang.NullPointerException ” returneres når en referansevariabel påkalles (eller de-referert) og ikke refererer til noe objekt.



Demonstrasjon av 'java.lang.NullPointerException'

I illustrasjonen nedenfor vil vi se hvordan det omtalte unntaket oppstår:



String s = null;
customFunc ( s ) ;
statisk tomrom customFunc ( String str ) {
System.out.println ( str.lengde ( ) ) ;
}


I kodebiten ovenfor:





    • Først initialiser en streng med en ' null 'verdi.
    • I neste trinn påkaller du funksjonen customFunc() ved å sende den deklarerte strengen som argument.
    • Definer deretter en funksjon kalt ' customFunc() ” ved å spesifisere en streng som må sendes som parameter.
    • I funksjonsdefinisjonen returnerer du lengden på den beståtte strengen via ' lengde ' eiendom.
    • Denne koden vil fungere slik at ved å sende en ' null ” verdi til funksjonen, vil det diskuterte unntaket bli kastet:


I utgangen ovenfor kan det observeres at ' NullPointerException ' kastes ved å påkalle ' null ' som et funksjonsargument.

Tilnærming 1: Løs 'java.lang.NullPointerException' ved å bruke 'try...catch'-setninger

« prøve '-setningen hjelper til med å definere en kodeblokk som må testes for feil mens den utføres, og ' å fange ”-uttalelsen trer i kraft i tilfelle det oppstår en begrensning i prøveblokken. Mer spesifikt, ' java.lang.NullPointerException ' kan imøtekommes ved å bruke ønsket operasjon i 'prøve'-blokken og plassere det sannsynlige unntaket i 'fangst'-blokken.



Syntaks

prøve {
Kodeblokken å prøve
}
å fange ( Unntak e ) {
Kodeblokken for å håndtere unntaket i prøveblokken
}


Eksempel

La oss se på eksemplet nedenfor:

String s = null;
customFunc ( s ) ;
statisk tomrom customFunc ( String str ) {
prøve {
System.out.println ( 'Første karakter: ' + str.indexOf ( 0 ) ) ;
}
å fange ( NullPointerException e ) {
System.out.println ( 'NullPointerException kastet!' ) ;
} }


I kodelinjene ovenfor:

    • Husk de diskuterte tilnærmingene for å initialisere en ' null ” verdi og påkalle den angitte funksjonen ved å sende nullverdien som argument.
    • Definer nå på samme måte en funksjon kalt ' customFunc() ' har strengen som skal sendes som parameter.
    • Etter det bruker du ' prøve '-setning for å hente indeksen til det angitte tegnet i en streng via ' oversikt over() 'metoden.
    • Merk at ' prøve ”-setningen kan kjøres hvis strengen ikke er null. Siden verdien er ' null ', så et unntak vil bli møtt som vil bli håndtert av ' å fange ' uttalelse.

Produksjon


I utgangen ovenfor kan det ses at det spesifiserte unntaket er ivaretatt av ' å fange ” uttalelse og så det er kastet, og dermed løse det.

Tilnærming 2: Løs 'java.lang.NullPointerException' ved å bruke 'if/else'-setningen

Det omtalte unntaket kan også sorteres ut via ' hvis/annet ' uttalelse. Dette kan gjøres ved ganske enkelt å utføre ønsket operasjon i ' hvis '-uttalelse og ved utilfredsstillelse returneres et unntak via ' ellers ' uttalelse.

Syntaks

hvis ( kond ) {
Uttalelsen som skal utføres på den tilfredsstilte betingelsen, dvs. 'kondisjon'
}
ellers {
Uttalelsen som skal utføres på den misfornøyde 'hvis' betingelse.
}


Eksempel

Gå gjennom følgende eksempel for å få en forståelse av å takle unntaket:

String s = null;
customFunc ( s ) ;
statisk tomrom customFunc ( String str ) {
hvis ( str ! = null ) {
System.out.println ( 'Første karakter: ' + str.indexOf ( 0 ) ) ;
}
ellers {
System.out.println ( 'NullPointerException kastet!' ) ;
}
}


Bruk trinnene som er omtalt nedenfor som gitt i koden ovenfor:

    • Gjenta de diskuterte trinnene for å initialisere en nullverdi og påkalle funksjonen ved å sende ' null 'verdi som argument.
    • Deretter erklærer du funksjonen ' customFunc() ' med den angitte parameteren.
    • Bruk nå ' hvis/annet ' uttalelse slik at på tilfredsstilt betingelse i ' hvis ”-setning, utføres den tilsvarende blokken.
    • I det andre tilfellet, ' ellers ”-blokken trer i kraft og kaster det omtalte unntaket.
    • Merk at betingelsen i ' hvis ”-uttalelsen er identisk med den tidligere tilnærmingen, og forfalsker den dermed.

Produksjon


Slik kan du håndtere ' java.lang.NullPointerException '.

Konklusjon

« java.lang.NullPointerException ” returneres når en referansevariabel påkalles eller de-refereres og ikke refererer til noe objekt. Dette unntaket kan håndteres ved å plassere det i ' prøv ... fange ' uttalelse slik at ved utførelse av ' prøve ”-blokken, kan unntaket imøtekommes av sistnevnte blokk. Også ' hvis/annet '-setningen kan brukes til å løse dette unntaket ved å plassere den i ' ellers ' uttalelse hvis ' hvis '-setningen blir ikke utført. Denne bloggen diskuterte tilnærmingene for å takle ' java.lang.NullPointerException '.