Kako riješiti java.lang.NullPointerException

Kako Rijesiti Java Lang Nullpointerexception



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