Cum se rezolvă excepția java.lang.NullPointerException

Cum Se Rezolva Exceptia Java Lang Nullpointerexception



În limbajele de programare, întâlnirea erorilor ne permite să executăm diferite funcționalități în mod corespunzător, solicitând dezvoltatorului. Într-un astfel de caz, pot exista situații în care dezvoltatorul se poate confrunta cu „ java.lang.NullPointerException „pe un anume „ nul ” valoare în timp ce se ocupă cu date în bloc. Această excepție trebuie gestionată pentru a eficientiza funcționalitățile codului.

Acest blog va detalia abordările pentru a face față situației „ java.lang.NullPointerException ”.





Cum se rezolvă „java.lang.NullPointerException”?

java.lang.NullPointerException ” este returnat atunci când o variabilă de referință este invocată (sau dereferințată) și nu se referă la niciun obiect.



Demonstrarea „java.lang.NullPointerException”

În ilustrația de mai jos, vom vedea cum apare excepția discutată:



String s = nul;
customFunc ( s ) ;
static void customFunc ( String str ) {
System.out.println ( str.lungime ( ) ) ;
}


În fragmentul de cod de mai sus:





    • În primul rând, inițializați un șir cu un „ nul ” valoare.
    • În pasul următor, invocați funcția customFunc() trecând șirul declarat ca argument.
    • După aceea, definiți o funcție numită „ customFunc() ” prin specificarea unui șir care trebuie transmis ca parametru.
    • În definiția funcției, returnați lungimea șirului transmis prin „ lungime ” proprietate.
    • Acest cod va funcționa astfel încât, prin trecerea unui „ nul ” valoare funcției, excepția discutată va fi aruncată:


În rezultatul de mai sus, se poate observa că „ NullPointerException ” este aruncat la invocarea ” nul ” ca argument al funcției.

Abordarea 1: Rezolvați „java.lang.NullPointerException” folosind instrucțiunile „try...catch”

încerca ” instrucțiunea ajută la definirea unui bloc de cod care trebuie testat pentru erori în timpul executării și „ captură ” declarația intră în vigoare în cazul unei limitări întâlnite în blocul try. Mai precis, „ java.lang.NullPointerException ” poate fi alimentat prin aplicarea operației dorite în blocul „try” și plasarea excepției probabile în blocul „catch”.



Sintaxă

încerca {
Blocul de cod de încercat
}
captură ( Excepție e ) {
Blocul de cod pentru a gestiona excepția cu care se confruntă în blocul try
}


Exemplu

Să trecem în revistă exemplul de mai jos:

String s = nul;
customFunc ( s ) ;
static void customFunc ( String str ) {
încerca {
System.out.println ( 'Primul caracter:' + str.indexOf ( 0 ) ) ;
}
captură ( NullPointerException e ) {
System.out.println ( „NullPointerException a fost aruncată!” ) ;
} }


În rândurile de cod de mai sus:

    • Amintiți-vă abordările discutate pentru a inițializa un „ nul ” și invocă funcția declarată trecând valoarea nulă ca argument.
    • Acum, de asemenea, definiți o funcție numită „ customFunc() ” având șirul de transmis ca parametru.
    • După aceea, aplicați „ încerca ” instrucțiune pentru a prelua indexul caracterului specificat într-un șir prin intermediul „ Index de() ” metoda.
    • Rețineți că „ încerca ” instrucțiunea poate fi executată dacă șirul nu este nul. Deoarece valoarea este „ nul ”, deci va fi întâlnită o excepție care va fi gestionată de „ captură ' afirmație.

Ieșire


În rezultatul de mai sus, se poate observa că excepția specificată este asigurată de „ captură ” declarație și astfel se aruncă, rezolvându-l astfel.

Abordarea 2: Rezolvați „java.lang.NullPointerException” folosind instrucțiunea „if/else”

Excepția discutată poate fi rezolvată și prin intermediul „ dacă/altfel ' afirmație. Acest lucru se poate face pur și simplu efectuând operația dorită în „ dacă ” și la condiția nesatisfăcută, o excepție este returnată prin intermediul „ altfel ' afirmație.

Sintaxă

dacă ( cond ) {
Declarația care trebuie executată la condiția îndeplinită, adică „cond”
}
altfel {
Declarația de executat asupra celor nemulțumiți 'dacă' condiție.
}


Exemplu

Parcurgeți următorul exemplu pentru a înțelege cum să faceți față excepției:

String s = nul;
customFunc ( s ) ;
static void customFunc ( String str ) {
dacă ( str ! = nul ) {
System.out.println ( 'Primul caracter:' + str.indexOf ( 0 ) ) ;
}
altfel {
System.out.println ( „NullPointerException a fost aruncată!” ) ;
}
}


Aplicați pașii discutați mai jos, așa cum sunt indicați în codul de mai sus:

    • Repetați pașii discutați pentru inițializarea unei valori nule și invocarea funcției prin trecerea „ nul ” valoare ca argument.
    • Apoi, declarați în mod similar funcția „ customFunc() ” având parametrul specificat.
    • Acum, aplicați „ dacă/altfel ” declarație astfel încât, la condiția îndeplinită în „ dacă ”, blocul corespunzător se execută.
    • În celălalt caz, „ altfel ” bloc va intra în vigoare și va arunca excepția discutată.
    • Rețineți că condiția din „ dacă ” afirmația este identică cu cea anterioară, falsificând-o astfel.

Ieșire


Așa poți gestiona „ java.lang.NullPointerException ”.

Concluzie

java.lang.NullPointerException ” este returnat atunci când o variabilă de referință este invocată sau anulată de referință și nu se referă la niciun obiect. Această excepție poate fi gestionată plasând-o în „ încearcă să prinzi ” declarație astfel încât la executarea „ încerca ” bloc, excepția cu care se confruntă poate fi asigurată de cel din urmă bloc. De asemenea ' dacă/altfel Declarația ” poate fi utilizată pentru a rezolva această excepție plasând-o în ” altfel ” declarația dacă ” dacă ” instrucțiunea nu se execută. Acest blog a discutat despre abordările pentru a face față „ java.lang.NullPointerException ”.