U programskim jezicima, nailaženje na pogreške omogućuje nam da izvršimo različite funkcije na odgovarajući način tako što tražimo programera. U tom slučaju mogu postojati slučajevi u kojima se programer može suočiti s ' java.lang.NullPointerException 'na određeno' ništavan ” vrijednost dok radite sa skupnim podacima. Ovu iznimku treba riješiti kako bi se pojednostavile funkcionalnosti koda.
Ovaj će blog razraditi pristupe suočavanja s ' java.lang.NullPointerException ”.
Kako riješiti 'java.lang.NullPointerException'?
' java.lang.NullPointerException ” se vraća kada se referentna varijabla pozove (ili dereferencira) i ne referira se ni na jedan objekt.
Demonstracija 'java.lang.NullPointerException'
Na donjoj ilustraciji vidjet ćemo kako dolazi do spomenute iznimke:
Niz s = nula;
customFunc ( s ) ;
static void customFunc ( String str ) {
System.out.println ( str.duljina ( ) ) ;
}
U gornjem isječku koda:
-
- Prvo, inicijalizirajte niz s ' ništavan ” vrijednost.
- U sljedećem koraku pozovite funkciju customFunc() prosljeđivanjem deklariranog niza kao argumenta.
- Nakon toga definirajte funkciju pod nazivom ' customFunc() ” određivanjem niza koji treba proslijediti kao njegov parametar.
- U definiciji funkcije vratite duljinu proslijeđenog niza putem ' duljina ” vlasništvo.
- Ovaj će kod funkcionirati tako da prosljeđivanjem ' ništavan ” za funkciju, izbacit će se iznimka o kojoj se govori:
U gornjem izlazu, može se primijetiti da je ' NullPointerException ” izbacuje se nakon pozivanja ništavan ” kao argument funkcije.
Pristup 1: Riješite 'java.lang.NullPointerException' koristeći izjave 'try...catch'
' probati ' naredba pomaže u definiranju bloka koda koji treba testirati na pogreške tijekom izvođenja i ' ulov ” Izjava stupa na snagu u slučaju da se u bloku pokušaja naiđe na ograničenje. Konkretnije, ' java.lang.NullPointerException ” može se zadovoljiti primjenom željene operacije u bloku “try” i postavljanjem vjerojatne iznimke u blok “catch”.
Sintaksa
probati {Blok koda koji treba isprobati
}
ulov ( Iznimka e ) {
Blok koda za rukovanje suočenom iznimkom u blok pokušaja
}
Primjer
Pogledajmo dolje navedeni primjer:
Niz s = nula;customFunc ( s ) ;
static void customFunc ( String str ) {
probati {
System.out.println ( 'Prvi lik:' + str.indexOf ( 0 ) ) ;
}
ulov ( NullPointerException e ) {
System.out.println ( 'Iznimka NullPointerException je bačena!' ) ;
} }
U gornjim redcima koda:
-
- Prisjetite se razmatranih pristupa za pokretanje ' ništavan ” vrijednost i pozovite navedenu funkciju prosljeđivanjem nulte vrijednosti kao argumenta.
- Sada, isto tako, definirajte funkciju pod nazivom ' customFunc() ” koja ima niz koji treba proslijediti kao svoj parametar.
- Nakon toga primijenite ' probati ” za dohvaćanje indeksa navedenog znaka u nizu putem “ indexOf() ” metoda.
- Imajte na umu da ' probati ” naredba se može izvršiti ako niz nije null. Budući da je vrijednost ' ništavan ', pa će se naići na iznimku koju će obraditi ' ulov ” izjava.
Izlaz
U gornjem izlazu može se vidjeti da navedenu iznimku opskrbljuje ' ulov ” izjava i tako se baca, čime se to rješava.
Pristup 2: Riješite 'java.lang.NullPointerException' pomoću izjave 'if/else'
Razmatrani izuzetak također se može razvrstati putem ' ako/drugo ” izjava. To se može učiniti jednostavnim izvođenjem željene operacije u ' ako ” i nakon nezadovoljenog uvjeta, iznimka se vraća putem „ drugo ” izjava.
Sintaksa
ako ( kond ) {Naredba koja će se izvršiti nakon zadovoljenog uvjeta, tj. 'cond'
}
drugo {
Izjava koja će se izvršiti nad nezadovoljnima 'ako' stanje.
}
Primjer
Prođite kroz sljedeći primjer da biste razumjeli kako se nositi s iznimkom:
Niz s = nula;customFunc ( s ) ;
static void customFunc ( String str ) {
ako ( str ! = nula ) {
System.out.println ( 'Prvi lik:' + str.indexOf ( 0 ) ) ;
}
drugo {
System.out.println ( 'Iznimka NullPointerException je bačena!' ) ;
}
}
Primijenite korake navedene u nastavku kako je navedeno u gornjem kodu:
-
- Ponovite opisane korake za inicijaliziranje nulte vrijednosti i pozivanje funkcije prosljeđivanjem ' ništavan ” vrijednost kao svoj argument.
- Zatim, na sličan način deklarirajte funkciju ' customFunc() ” s navedenim parametrom.
- Sada primijenite ' ako/drugo ” izjava takva da nakon zadovoljenog uvjeta u „ ako ”, izvršava se odgovarajući blok.
- U drugom slučaju, ' drugo ” blok će stupiti na snagu i izbaciti razmatranu iznimku.
- Imajte na umu da je uvjet u ' ako ” tvrdnja je identična prethodnom pristupu, čime ga krivotvori.
Izlaz
Tako se možete nositi s ' java.lang.NullPointerException ”.
Zaključak
' java.lang.NullPointerException ” se vraća kada se referentna varijabla pozove ili dereferencira i ne referira ni na jedan objekt. Ova se iznimka može riješiti postavljanjem u ' pokušaj uhvatiti ” naredba tako da nakon izvršavanja „ probati ”, suočena iznimka može biti opskrbljena potonjim blokom. Također, ' ako/drugo ” može se koristiti za rješavanje ove iznimke postavljanjem u “ drugo ” ako je „ ako ” naredba se ne može izvršiti. Ovaj blog raspravljao je o pristupima suočavanja s ' java.lang.NullPointerException ”.