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