Sådan løses java.lang.NullPointerException

Sadan Loses Java Lang Nullpointerexception



I programmeringssprog giver fejlfinding os mulighed for at udføre forskellige funktioner korrekt ved at spørge udvikleren. I et sådant tilfælde kan der være tilfælde, hvor udvikleren kan stå over for ' java.lang.NullPointerException 'på en bestemt' nul ”-værdi, mens der håndteres massedata. Denne undtagelse skal håndteres for at strømline kodefunktionaliteterne.

Denne blog vil uddybe tilgange til at håndtere ' java.lang.NullPointerException ”.







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

Det ' java.lang.NullPointerException ” returneres, når en referencevariabel påkaldes (eller de-reference) og ikke refererer til noget objekt.



Demonstration af 'java.lang.NullPointerException'

I nedenstående illustration vil vi se, hvordan den omtalte undtagelse opstår:



Streng s = null;
customFunc ( s ) ;
statisk tomrum customFunc ( String str ) {
System.out.println ( str.længde ( ) ) ;
}


I ovenstående kodestykke:





    • For det første skal du initialisere en streng med et ' nul 'værdi.
    • I det næste trin skal du aktivere funktionen customFunc() ved at sende den erklærede streng som dens argument.
    • Derefter skal du definere en funktion med navnet ' customFunc() ” ved at angive en streng, der skal sendes som dens parameter.
    • I funktionsdefinitionen skal du returnere længden af ​​den beståede streng via ' længde ” ejendom.
    • Denne kode vil fungere sådan, at ved at sende en ' nul ” værdi til funktionen, vil den diskuterede undtagelse blive kastet:


I ovenstående output kan det observeres, at ' NullPointerException ' kastes ved påkaldelse af ' nul ' som et funktionsargument.

Fremgangsmåde 1: Løs 'java.lang.NullPointerException' ved hjælp af 'try...catch'-udsagn

Det ' prøve '-sætning hjælper med at definere en kodeblok, der skal testes for fejl, mens den udføres, og ' fangst ”-erklæring træder i kraft i tilfælde af en stødt på begrænsning i prøveblokken. Mere specifikt, ' java.lang.NullPointerException ” kan imødekommes ved at anvende den ønskede operation i 'try'-blokken og placere den sandsynlige undtagelse i 'catch'-blokken.



Syntaks

prøve {
Kodeblokken at prøve
}
fangst ( Undtagelse e ) {
Kodeblokken til at håndtere den konfronterede undtagelse i prøveblokken
}


Eksempel

Lad os gennemgå nedenstående eksempel:

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


I ovenstående kodelinjer:

    • Husk de diskuterede tilgange til at initialisere en ' nul ” værdi og påkald den angivne funktion ved at sende null-værdien som dens argument.
    • Definer nu på samme måde en funktion ved navn ' customFunc() ” med strengen, der skal sendes som parameter.
    • Anvend derefter ' prøve '-sætning for at hente indekset for det angivne tegn i en streng via ' indeks af() ” metode.
    • Bemærk, at ' prøve ”-sætning kan udføres, hvis strengen ikke er null. Da værdien er ' nul ', så der vil blive stødt på en undtagelse, som vil blive håndteret af ' fangst ' udmelding.

Produktion


I ovenstående output kan det ses, at den angivne undtagelse er taget hensyn til ' fangst ” erklæring og så er det smidt, og derved løser det.

Fremgangsmåde 2: Løs 'java.lang.NullPointerException' ved hjælp af 'if/else'-sætning

Den omtalte undtagelse kan også sorteres fra via ' hvis ellers ' udmelding. Dette kan gøres ved blot at udføre den ønskede handling i ' hvis '-erklæring og ved den utilfredsstillede betingelse returneres en undtagelse via ' andet ' udmelding.

Syntaks

hvis ( kond ) {
Erklæringen, der skal udføres på den opfyldte betingelse, dvs.
}
andet {
Erklæringen, der skal udføres på den utilfredse 'hvis' tilstand.
}


Eksempel

Gennemgå følgende eksempel for at få en forståelse af at håndtere undtagelsen:

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


Anvend de nedenfor diskuterede trin som angivet i ovenstående kode:

    • Gentag de diskuterede trin for at initialisere en nulværdi og aktivere funktionen ved at sende ' nul ”værdi som sit argument.
    • Dernæst skal du på samme måde erklære funktionen ' customFunc() ” med den angivne parameter.
    • Anvend nu ' hvis ellers ' erklæring således, at på den opfyldte betingelse i ' hvis ”-sætning, udføres den tilsvarende blok.
    • I det andet tilfælde er ' andet ” blok træder i kraft og kaster den diskuterede undtagelse.
    • Bemærk, at betingelsen i ' hvis ” udsagn er identisk med den tidligere tilgang, hvorved den forfalskes.

Produktion


Sådan kan du håndtere ' java.lang.NullPointerException ”.

Konklusion

Det ' java.lang.NullPointerException ” returneres, når en referencevariabel fremkaldes eller fravælges og ikke refererer til noget objekt. Denne undtagelse kan håndteres ved at placere den i ' prøv...fang ' erklæring således, at ved udførelse af ' prøve ”-blok, kan den nævnte undtagelse imødekommes af sidstnævnte blok. Også ' hvis ellers '-sætning kan bruges til at løse denne undtagelse ved at placere den i ' andet '-erklæring, hvis ' hvis ”-erklæringen kan ikke udføres. Denne blog diskuterede tilgange til at håndtere ' java.lang.NullPointerException ”.