Ako vyriešiť java.lang.NullPointerException

Ako Vyriesit Java Lang Nullpointerexception



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