Så här löser du java.lang.NullPointerException

Sa Har Loser Du Java Lang Nullpointerexception



I programmeringsspråk gör det att vi stöter på fel att vi kan utföra olika funktioner på lämpligt sätt genom att fråga utvecklaren. I ett sådant fall kan det finnas tillfällen där utvecklaren kan möta ' java.lang.NullPointerException 'på en viss' null ”-värde när man hanterar massdata. Detta undantag måste hanteras för att effektivisera kodfunktionerna.

Den här bloggen kommer att utveckla metoderna för att hantera ' java.lang.NullPointerException ”.







Hur löser jag 'java.lang.NullPointerException'?

den ' java.lang.NullPointerException ” returneras när en referensvariabel anropas (eller avreferens) och hänvisar inte till något objekt.



Demonstration av 'java.lang.NullPointerException'

I nedanstående illustration kommer vi att se hur det diskuterade undantaget inträffar:



Sträng s = null;
customFunc ( s ) ;
statisk tomrum customFunc ( String str ) {
System.out.println ( str.längd ( ) ) ;
}


I kodavsnittet ovan:





    • Initiera först en sträng med en ' null ' värde.
    • I nästa steg, anropa funktionen customFunc() genom att skicka den deklarerade strängen som dess argument.
    • Efter det, definiera en funktion som heter ' customFunc() ” genom att ange en sträng som måste skickas som parameter.
    • I funktionsdefinitionen returnerar du längden på den passerade strängen via ' längd ' fast egendom.
    • Denna kod kommer att fungera så att genom att skicka en ' null ” värde till funktionen, kommer det diskuterade undantaget att kastas:


I ovanstående utdata kan det observeras att ' NullPointerException ' kastas vid åberopande ' null ' som ett funktionsargument.

Tillvägagångssätt 1: Lös 'java.lang.NullPointerException' med hjälp av 'try...catch'-satser

den ' Prova '-satsen hjälper till att definiera ett kodblock som måste testas för fel medan det körs och ' fånga ” uttalande träder i kraft i händelse av en begränsning i försöksblocket. Mer specifikt, ' java.lang.NullPointerException ” kan tillgodoses genom att tillämpa önskad operation i 'försök'-blocket och placera det troliga undantaget i 'fånga'-blocket.



Syntax

Prova {
Kodblocket att prova
}
fånga ( Undantag e ) {
Kodblocket för att hantera undantaget i försöksblocket
}


Exempel

Låt oss överblicka exemplet nedan:

Sträng s = null;
customFunc ( s ) ;
statisk tomrum customFunc ( String str ) {
Prova {
System.out.println ( 'Första karaktären:' + str.indexOf ( 0 ) ) ;
}
fånga ( NullPointerException e ) {
System.out.println ( 'NullPointerException kastat!' ) ;
} }


I kodraderna ovan:

    • Kom ihåg de diskuterade metoderna för att initiera en ' null ” värde och anropa den angivna funktionen genom att skicka nullvärdet som dess argument.
    • Definiera nu på samma sätt en funktion som heter ' customFunc() ” med strängen som ska skickas som parameter.
    • Efter det, använd ' Prova ”-sats för att hämta indexet för det angivna tecknet i en sträng via ” index för() 'metoden.
    • Observera att ' Prova ”-satsen kan köras om strängen inte är null. Eftersom värdet är ' null ', så ett undantag kommer att påträffas som kommer att hanteras av ' fånga ' påstående.

Produktion


I ovanstående utgång kan det ses att det angivna undantaget tillgodoses av ' fånga ” uttalande och så kastas det, och löser det därigenom.

Metod 2: Lös 'java.lang.NullPointerException' med hjälp av 'if/else'-satsen

Det diskuterade undantaget kan också redas ut via ' om annat ' påstående. Detta kan göras genom att helt enkelt utföra önskad operation i ' om ' uttalande och vid ouppfyllt villkor returneras ett undantag via ' annan ' påstående.

Syntax

om ( kond ) {
Uttalandet som ska utföras på det uppfyllda villkoret, dvs.
}
annan {
Uttalandet som ska utföras på den missnöjda 'om' skick.
}


Exempel

Gå igenom följande exempel för att få en förståelse för att hantera undantaget:

Sträng s = null;
customFunc ( s ) ;
statisk tomrum customFunc ( String str ) {
om ( str ! = null ) {
System.out.println ( 'Första karaktären:' + str.indexOf ( 0 ) ) ;
}
annan {
System.out.println ( 'NullPointerException kastat!' ) ;
}
}


Tillämpa de nedan diskuterade stegen enligt ovanstående kod:

    • Upprepa de diskuterade stegen för att initiera ett nollvärde och anropa funktionen genom att skicka ' null ”-värde som argument.
    • Deklarera sedan funktionen ' customFunc() ” med den angivna parametern.
    • Använd nu ' om annat ' uttalande så att vid uppfyllt villkor i ' om ”-satsen, körs motsvarande block.
    • I det andra fallet, ' annan ”-blocket kommer att träda i kraft och kasta det diskuterade undantaget.
    • Observera att villkoret i ' om ” uttalande är identiskt med det tidigare tillvägagångssättet, vilket förfalskar det.

Produktion


Det är så du kan hantera ' java.lang.NullPointerException ”.

Slutsats

den ' java.lang.NullPointerException ” returneras när en referensvariabel anropas eller avreferens och inte hänvisar till något objekt. Detta undantag kan hanteras genom att placera det i ' försök fånga ' uttalande så att vid exekvering av ' Prova ”-blocket, kan det vända undantaget tillgodoses av det senare blocket. Även ' om annat ' uttalande kan användas för att lösa detta undantag genom att placera det i ' annan ' uttalande om ' om ”-satsen kan inte köras. Den här bloggen diskuterade metoderna för att hantera ' java.lang.NullPointerException ”.