Jak vyřešit java.lang.NullPointerException

Jak Vyresit Java Lang Nullpointerexception



V programovacích jazycích nám setkání s chybami umožňuje provádět různé funkce odpovídajícím způsobem pomocí výzvy vývojáře. V takovém případě mohou nastat případy, kdy vývojář může čelit „ java.lang.NullPointerException 'na konkrétním' nula ” hodnotu při práci s hromadnými daty. Tuto výjimku je třeba zpracovat, aby se zjednodušily funkce kódu.

Tento blog se bude zabývat přístupy, jak se vyrovnat s „ java.lang.NullPointerException “.







Jak vyřešit „java.lang.NullPointerException“?

' java.lang.NullPointerException ” se vrátí, když je vyvolána (nebo zrušena) referenční proměnná a neodkazuje na žádný objekt.



Ukázka „java.lang.NullPointerException“

Na níže uvedeném obrázku uvidíme, jak k diskutované výjimce dojde:



Řetězec s = null;
customFunc ( s ) ;
static void customFunc ( Řetězec str ) {
System.out.println ( str.délka ( ) ) ;
}


Ve výše uvedeném úryvku kódu:





    • Nejprve inicializujte řetězec pomocí „ nula “hodnota.
    • V dalším kroku vyvolejte funkci customFunc() předáním deklarovaného řetězce jako jeho argumentu.
    • Poté definujte funkci s názvem „ customFunc() ” zadáním řetězce, který je třeba předat jako jeho parametr.
    • V definici funkce vraťte délku předávaného řetězce pomocí „ délka ' vlastnictví.
    • Tento kód bude fungovat tak, že předáním „ nula ” hodnotu funkce, bude vyvolána diskutovaná výjimka:


Ve výše uvedeném výstupu lze pozorovat, že „ Výjimka NullPointerException ” se hodí při vyvolání” nula ” jako argument funkce.

Přístup 1: Vyřešte „java.lang.NullPointerException“ pomocí příkazů „try…catch“

' Snaž se “ Příkaz pomáhá při definování bloku kódu, který je třeba otestovat na chyby při provádění a „ chytit ” vstoupí v platnost v případě zjištění omezení v bloku try. Přesněji řečeno, „ java.lang.NullPointerException “ lze zajistit použitím požadované operace v bloku „try“ a umístěním pravděpodobné výjimky do bloku „catch“.



Syntax

Snaž se {
Blok kódu k vyzkoušení
}
chytit ( Výjimka e ) {
Blok kódu pro zpracování výjimek, kterým čelí v blok try
}


Příklad

Pojďme si představit níže uvedený příklad:

Řetězec s = null;
customFunc ( s ) ;
static void customFunc ( Řetězec str ) {
Snaž se {
System.out.println ( 'První postava:' + str.indexOf ( 0 ) ) ;
}
chytit ( NullPointerException e ) {
System.out.println ( 'Vyhozena výjimka NullPointer!' ) ;
} }


Ve výše uvedených řádcích kódu:

    • Připomeňte si diskutované přístupy k inicializaci „ nula ” a vyvolejte uvedenou funkci předáním hodnoty null jako jejího argumentu.
    • Nyní podobně definujte funkci s názvem „ customFunc() ” s předávaným řetězcem jako parametrem.
    • Poté použijte „ Snaž se ” k načtení indexu zadaného znaku v řetězci přes “ indexOf() “ metoda.
    • Všimněte si, že „ Snaž se ” lze provést, pokud řetězec není null. Protože hodnota je „ nula “, takže dojde k výjimce, kterou zpracuje „ chytit ' prohlášení.

Výstup


Ve výše uvedeném výstupu je vidět, že specifikovaná výjimka je zajišťována „ chytit ” a tak je vyvolán, čímž se vyřeší.

Přístup 2: Vyřešte „java.lang.NullPointerException“ pomocí příkazu „if/else“

Diskutovanou výjimku lze také vyřešit pomocí „ pokud/jinak ' prohlášení. To lze provést jednoduše provedením požadované operace v „ -li “ a při nesplněném stavu je vrácena výjimka přes “ jiný ' prohlášení.

Syntax

-li ( podm ) {
Příkaz, který má být proveden za splněné podmínky, tj. „podmínka“
}
jiný {
Prohlášení, které má být provedeno nad nespokojenými 'li' stav.
}


Příklad

Projděte si následující příklad, abyste pochopili, jak se vyrovnat s výjimkou:

Řetězec s = null;
customFunc ( s ) ;
static void customFunc ( Řetězec str ) {
-li ( str ! = null ) {
System.out.println ( 'První postava:' + str.indexOf ( 0 ) ) ;
}
jiný {
System.out.println ( 'Vyhozena výjimka NullPointer!' ) ;
}
}


Použijte níže diskutované kroky, jak jsou uvedeny ve výše uvedeném kódu:

    • Opakujte diskutované kroky pro inicializaci nulové hodnoty a vyvolání funkce předáním „ nula ” hodnota jako jeho argument.
    • Dále podobně deklarujte funkci „ customFunc() ” se zadaným parametrem.
    • Nyní použijte „ pokud/jinak “ prohlášení tak, že při splnění podmínky v “ -li “, provede se odpovídající blok.
    • V druhém případě „ jiný ” blok vstoupí v platnost a vyvolá diskutovanou výjimku.
    • Všimněte si, že podmínka v „ -li “ je totožné s předchozím přístupem, čímž je falšuje.

Výstup


Takto můžete zvládnout „ java.lang.NullPointerException “.

Závěr

' java.lang.NullPointerException ” je vráceno, když je vyvolána nebo dereferencována referenční proměnná a neodkazuje na žádný objekt. Tuto výjimku lze ošetřit umístěním do „ Zkus chytit “ prohlášení tak, že po provedení „ Snaž se ” blok, čelit výjimka může být zabezpečena druhým blokem. Také ' pokud/jinak 'příkaz lze použít k vyřešení této výjimky umístěním do ' jiný “, pokud „ -li ” se nepodařilo provést. Tento blog pojednával o přístupech, jak se vyrovnat s „ java.lang.NullPointerException “.