V programovacích jazykoch nám stretávanie sa s chybami umožňuje správne spúšťať rôzne funkcie na základe výzvy vývojára. V takom prípade môžu nastať prípady, keď vývojár môže čeliť „ java.lang.NullPointerException “na konkrétnom” nulový pri práci s hromadnými údajmi. Túto výnimku je potrebné spracovať, aby sa zjednodušili funkcie kódu.
Tento blog sa bude zaoberať prístupmi, ako sa vysporiadať s „ java.lang.NullPointerException “.
Ako vyriešiť „java.lang.NullPointerException“?
' java.lang.NullPointerException ” sa vráti pri vyvolaní (alebo zrušení odkazu) referenčnej premennej a neodkazuje na žiadny objekt.
Ukážka „java.lang.NullPointerException“
Na nižšie uvedenom obrázku uvidíme, ako sa diskutovaná výnimka vyskytuje:
Reťazec s = null;
customFunc ( s ) ;
static void customFunc ( String str ) {
System.out.println ( str.dĺžka ( ) ) ;
}
Vo vyššie uvedenom útržku kódu:
-
- Najprv inicializujte reťazec s „ nulový “hodnota.
- V ďalšom kroku vyvolajte funkciu customFunc() odovzdaním deklarovaného reťazca ako jej argumentu.
- Potom definujte funkciu s názvom „ customFunc() ” zadaním reťazca, ktorý je potrebné odovzdať ako jeho parameter.
- V definícii funkcie vráťte dĺžku odovzdaného reťazca cez „ dĺžka ' nehnuteľnosť.
- Tento kód bude fungovať tak, že zadaním „ nulový ” hodnotu funkcie, vyvolá sa diskutovaná výnimka:
Vo vyššie uvedenom výstupe možno pozorovať, že „ Výnimka NullPointerException ” sa hodí pri vyvolaní” nulový “ ako argument funkcie.
Prístup 1: Vyriešte „java.lang.NullPointerException“ pomocou príkazov „try…catch“
' skúste “, pomáha pri definovaní bloku kódu, ktorý je potrebné otestovať na chyby počas vykonávania a „ chytiť “ nadobudne účinnosť v prípade, že v bloku try narazíte na obmedzenie. Presnejšie povedané, „ java.lang.NullPointerException “ možno zabezpečiť použitím požadovanej operácie v bloku „skúsiť“ a umiestnením pravdepodobnej výnimky do bloku „úlovok“.
Syntax
skúste {Blok kódu na vyskúšanie
}
chytiť ( Výnimka e ) {
Blok kódu na spracovanie danej výnimky v blok try
}
Príklad
Pozrime sa na nižšie uvedený príklad:
Reťazec s = null;customFunc ( s ) ;
static void customFunc ( String str ) {
skúste {
System.out.println ( 'Prvá postava:' + str.indexOf ( 0 ) ) ;
}
chytiť ( NullPointerException e ) {
System.out.println ( 'Vhodená výnimka NullPointer!' ) ;
} }
Vo vyššie uvedených riadkoch kódu:
-
- Pripomeňme si diskutované prístupy k inicializácii „ nulový ” a vyvolajte uvedenú funkciu odovzdaním hodnoty null ako jej argumentu.
- Teraz podobne definujte funkciu s názvom „ customFunc() ” s reťazcom, ktorý sa má odovzdať, ako jeho parametrom.
- Potom použite „ skúste ” na získanie indexu zadaného znaku v reťazci cez príkaz “ indexOf() “.
- Všimnite si, že „ skúste ” možno vykonať, ak reťazec nie je null. Keďže hodnota je „ nulový “, takže sa vyskytne výnimka, ktorú bude spracovať „ chytiť “vyhlásenie.
Výkon
Vo vyššie uvedenom výstupe je vidieť, že špecifikovanú výnimku zabezpečuje „ chytiť ” a tak sa vyhodí, čím sa to vyrieši.
Prístup 2: Vyriešte „java.lang.NullPointerException“ pomocou príkazu „if/else“
Diskutovanú výnimku je možné vyriešiť aj pomocou „ ak/inak “vyhlásenie. To možno vykonať jednoduchým vykonaním požadovanej operácie v „ ak “ a pri nesplnenom stave je vrátená výnimka cez “ inak “vyhlásenie.
Syntax
ak ( podm ) {Vyhlásenie, ktoré sa má vykonať pri splnení podmienky, tj „podmienka“
}
inak {
Vyhlásenie, ktoré sa má vykonať nad nespokojným 'ak' stave.
}
Príklad
Prejdite si nasledujúci príklad, aby ste pochopili, ako sa vyrovnať s výnimkou:
Reťazec s = null;customFunc ( s ) ;
static void customFunc ( String str ) {
ak ( str ! = null ) {
System.out.println ( 'Prvá postava:' + str.indexOf ( 0 ) ) ;
}
inak {
System.out.println ( 'Vhodená výnimka NullPointer!' ) ;
}
}
Použite nižšie diskutované kroky, ako sú uvedené vo vyššie uvedenom kóde:
-
- Opakujte diskutované kroky na inicializáciu nulovej hodnoty a vyvolanie funkcie odovzdaním „ nulový “hodnota ako jeho argument.
- Ďalej podobne deklarujte funkciu „ customFunc() ” so zadaným parametrom.
- Teraz použite „ ak/inak “ vyhlásenie také, že pri splnení podmienky v „ ak “, vykoná sa príslušný blok.
- V druhom prípade „ inak ” blok vstúpi do platnosti a vyvolá diskutovanú výnimku.
- Všimnite si, že podmienka v „ ak “ je totožné s predchádzajúcim prístupom, čím ho falšuje.
Výkon
Takto môžete zvládnuť „ java.lang.NullPointerException “.
Záver
' java.lang.NullPointerException ” sa vráti, keď sa vyvolá alebo zruší odkaz na referenčnú premennú a neodkazuje na žiadny objekt. Túto výnimku možno vyriešiť umiestnením do „ Skús chytiť “ vyhlásenie tak, že pri vykonaní „ skúste ” blok, čelia výnimke môže vyhovovať posledný blok. Tiež „ ak/inak “, možno použiť na vyriešenie tejto výnimky umiestnením do „ inak “, ak „ ak ” sa nepodarilo vykonať. Tento blog diskutoval o prístupoch, ako sa vysporiadať s „ java.lang.NullPointerException “.