Kako razrešiti izjemo java.lang.NullPointerException

Kako Razresiti Izjemo Java Lang Nullpointerexception



V programskih jezikih nam odkrivanje napak omogoča, da ustrezno izvedemo različne funkcije s pozivom razvijalcu. V takem primeru lahko pride do primerov, ko se lahko razvijalec sooči z ' java.lang.NullPointerException 'na določeno' nič ” vrednost pri obravnavi množičnih podatkov. To izjemo je treba obravnavati, da se poenostavijo funkcionalnosti kode.

Ta blog bo podrobneje predstavil pristope za obvladovanje » java.lang.NullPointerException ”.







Kako razrešiti 'java.lang.NullPointerException'?

' java.lang.NullPointerException ” se vrne, ko je referenčna spremenljivka priklicana (ali dereferencirana) in se ne nanaša na noben objekt.



Predstavitev »java.lang.NullPointerException«

Na spodnji sliki bomo videli, kako pride do obravnavane izjeme:



Niz s = nič;
customFunc ( s ) ;
static void customFunc ( String str ) {
System.out.println ( str.dolžina ( ) ) ;
}


V zgornjem delčku kode:





    • Najprej inicializirajte niz z ' nič ” vrednost.
    • V naslednjem koraku pokličite funkcijo customFunc() tako, da podate deklarirani niz kot njen argument.
    • Po tem definirajte funkcijo z imenom ' customFunc() ” tako, da podate niz, ki ga je treba posredovati kot njegov parameter.
    • V definiciji funkcije vrnite dolžino posredovanega niza prek ' dolžina ” lastnina.
    • Ta koda bo delovala tako, da s posredovanjem » nič ” za funkcijo, bo vržena obravnavana izjema:


V zgornjem rezultatu je mogoče opaziti, da je ' NullPointerException ' se sproži ob klicu ' nič ” kot argument funkcije.

1. pristop: razrešite izjemo »java.lang.NullPointerException« z uporabo stavkov »try…catch«

' poskusi ” pomaga pri definiranju bloka kode, ki ga je treba med izvajanjem preizkusiti glede napak, in ulov ” Stavek začne veljati v primeru omejitve v poskusnem bloku. Natančneje, ' java.lang.NullPointerException « je mogoče poskrbeti tako, da uporabite želeno operacijo v bloku »poskusi« in postavite verjetno izjemo v blok »catch«.



Sintaksa

poskusi {
Blok kode za poskus
}
ulov ( Izjema e ) {
Blok kode za obravnavo soočene izjeme v poskusni blok
}


Primer

Oglejmo si spodnji primer:

Niz s = nič;
customFunc ( s ) ;
static void customFunc ( String str ) {
poskusi {
System.out.println ( 'Prvi znak:' + str.indexOf ( 0 ) ) ;
}
ulov ( NullPointerException e ) {
System.out.println ( 'Vržena je izjema NullPointerException!' ) ;
} }


V zgornjih vrsticah kode:

    • Spomnite se obravnavanih pristopov za inicializacijo » nič ” vrednost in pokliče navedeno funkcijo tako, da posreduje ničelno vrednost kot argument.
    • Zdaj na enak način definirajte funkcijo z imenom ' customFunc() ” z nizom, ki ga je treba posredovati kot parametrom.
    • Po tem uporabite » poskusi ” za pridobivanje indeksa podanega znaka v nizu prek indeks() ” metoda.
    • Upoštevajte, da je ' poskusi ” se lahko izvede, če niz ni nič. Ker je vrednost ' nič «, zato bo naletela na izjemo, ki jo bo obravnaval » ulov ” izjava.

Izhod


V zgornjem izhodu je razvidno, da za navedeno izjemo skrbi » ulov ” in tako je vržena, s čimer se razreši.

2. pristop: razrešite izjemo »java.lang.NullPointerException« z uporabo izjave »if/else«

Obravnavano izjemo je mogoče razvrstiti tudi prek » če potem ” izjava. To lahko storite tako, da preprosto izvedete želeno operacijo v » če ” in ob neizpolnjenem pogoju se izjema vrne prek drugače ” izjava.

Sintaksa

če ( kond ) {
Izjava, ki se izvrši ob izpolnjenem pogoju, tj. »cond«
}
drugače {
Izjava, ki se izvrši nad nezadovoljnimi 'če' stanje.
}


Primer

Preglejte naslednji primer, da boste razumeli spopadanje z izjemo:

Niz s = nič;
customFunc ( s ) ;
static void customFunc ( String str ) {
če ( str ! = nič ) {
System.out.println ( 'Prvi znak:' + str.indexOf ( 0 ) ) ;
}
drugače {
System.out.println ( 'Vržena je izjema NullPointerException!' ) ;
}
}


Uporabite spodaj obravnavane korake, kot je navedeno v zgornji kodi:

    • Ponovite obravnavane korake za inicializacijo ničelne vrednosti in priklic funkcije s posredovanjem » nič ” kot svoj argument.
    • Nato podobno deklarirajte funkcijo ' customFunc() ” s podanim parametrom.
    • Zdaj uporabite ' če potem ' tako, da je ob izpolnjenem pogoju v ' če ” se izvede ustrezen blok.
    • V drugem primeru je ' drugače ” bo stopil v veljavo in vrgel obravnavano izjemo.
    • Upoštevajte, da je pogoj v » če ” trditev je enaka prejšnjemu pristopu in ga s tem ponareja.

Izhod


Tako lahko obvladate ' java.lang.NullPointerException ”.

Zaključek

' java.lang.NullPointerException ” se vrne, ko je referenčna spremenljivka priklicana ali odstranjena sklicevanje in se ne nanaša na noben objekt. To izjemo lahko odpravite tako, da jo postavite v » poskusi…ulovi ” tako, da po izvedbi poskusi ” lahko soočeno izjemo oskrbi slednji blok. Tudi ' če potem ” lahko uporabite za razrešitev te izjeme tako, da ga postavite v drugače stavek, če je če ” se ne izvede. Ta blog je razpravljal o pristopih za obvladovanje » java.lang.NullPointerException ”.