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