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 '.