Kaip išspręsti java.lang.NullPointerException

Kaip Isspresti Java Lang Nullpointerexception



Programavimo kalbose aptiktos klaidos leidžia tinkamai vykdyti įvairias funkcijas, raginant kūrėją. Tokiu atveju gali būti atvejų, kai kūrėjas gali susidurti su „ java.lang.NullPointerException 'ant tam tikro' nulinis “ vertė tvarkydami masinius duomenis. Šią išimtį reikia tvarkyti, kad būtų supaprastintos kodo funkcijos.

Šiame tinklaraštyje bus išsamiau aprašyti būdai, kaip susidoroti su java.lang.NullPointerException “.







Kaip išspręsti „java.lang.NullPointerException“?

java.lang.NullPointerException “ yra grąžinamas, kai iškviečiamas (arba panaikinamas) nuorodos kintamasis ir jis nenurodo jokiu objektu.



„java.lang.NullPointerException“ demonstravimas

Toliau pateiktoje iliustracijoje pamatysime, kaip atsiranda aptarta išimtis:



Styga s = null;
CustomFunc ( s ) ;
statinė tuštuma customFunc ( Styginių g ) {
System.out.println ( str.ilgis ( ) ) ;
}


Aukščiau pateiktame kodo fragmente:





    • Pirmiausia inicijuokite eilutę su ' nulinis “ vertė.
    • Kitame žingsnyje iškvieskite funkciją customFunc(), kaip argumentą perduodant deklaruotą eilutę.
    • Po to apibrėžkite funkciją pavadinimu ' customFunc() “, nurodydami eilutę, kurią reikia perduoti kaip jos parametrą.
    • Funkcijos apibrėžime grąžinkite perduodamos eilutės ilgį naudodami „ ilgio ' nuosavybė.
    • Šis kodas veiks taip, kad perduodant „ nulinis “ reikšmę funkcijai, bus išmesta aptarta išimtis:


Aukščiau pateiktame išvestyje galima pastebėti, kad „ NullPointerException “ yra išmestas iškvietus “ nulinis “ kaip funkcijos argumentas.

1 būdas: išspręskite „java.lang.NullPointerException“ naudodami teiginius „try…catch“

bandyti “ teiginys padeda apibrėžti kodo bloką, kurį vykdant reikia patikrinti, ar nėra klaidų, ir „ sugauti “ teiginys įsigalioja, jei bandymo bloke susiduriama su apribojimu. Tiksliau, „ java.lang.NullPointerException “ galima patenkinti pritaikius norimą operaciją bloke „bandyti“ ir įdėjus tikėtiną išimtį į bloką „pagauti“.



Sintaksė

bandyti {
Kodo blokas, kurį reikia išbandyti
}
sugauti ( Išimtis e ) {
Kodo blokas, skirtas apdoroti išimtį in bandymo blokas
}


Pavyzdys

Apžvelkime toliau pateiktą pavyzdį:

Styga s = null;
CustomFunc ( s ) ;
statinė tuštuma customFunc ( Styginių g ) {
bandyti {
System.out.println ( „Pirmasis veikėjas:“ + str.indexOf ( 0 ) ) ;
}
sugauti ( NullPointerException e ) {
System.out.println ( 'NullPointerException išmestas!' ) ;
} }


Aukščiau pateiktose kodo eilutėse:

    • Prisiminkite aptartus būdus, kaip inicijuoti „ nulinis “ reikšmę ir iškvieskite nurodytą funkciją, kaip argumentą pateikdami nulinę reikšmę.
    • Dabar taip pat apibrėžkite funkciją pavadinimu ' customFunc() “, kurio parametras yra eilutė, kurią reikia perduoti.
    • Po to pritaikykite „ bandyti “ sakinys, kad gautų nurodyto simbolio rodyklę eilutėje per „ indexOf() “ metodas.
    • Atkreipkite dėmesį, kad „ bandyti “ sakinys gali būti vykdomas, jei eilutė nėra nulinė. Kadangi vertė yra „ nulinis “, todėl bus susidurta su išimtimi, kurią tvarkys „ sugauti “ pareiškimas.

Išvestis


Aukščiau pateiktame išvestyje matyti, kad nurodyta išimtis yra patenkinta „ sugauti “ pareiškimą ir taip jis yra išmestas, taip jį išsprendžiant.

2 metodas: išspręskite „java.lang.NullPointerException“ naudodami teiginį „if/else“

Aptartą išimtį taip pat galima išspręsti naudojant „ jei/kitaip “ pareiškimas. Tai galima padaryti tiesiog atlikus norimą operaciją „ jeigu “ pareiškimą ir esant nepatenkintai sąlygai, išimtis grąžinama per „ Kitas “ pareiškimas.

Sintaksė

jeigu ( kond ) {
Pareiškimas, kuris turi būti įvykdytas esant patenkintai sąlygai, ty „sąlyga“
}
Kitas {
Pareiškimas, kuris turi būti įvykdytas nepatenkintam 'jei' sąlyga.
}


Pavyzdys

Peržiūrėkite šį pavyzdį, kad suprastumėte, kaip susidoroti su išimtimi:

Styga s = null;
CustomFunc ( s ) ;
statinė tuštuma customFunc ( Styginių g ) {
jeigu ( g ! = null ) {
System.out.println ( „Pirmasis veikėjas:“ + str.indexOf ( 0 ) ) ;
}
Kitas {
System.out.println ( 'NullPointerException išmestas!' ) ;
}
}


Taikykite toliau aptartus veiksmus, kaip nurodyta anksčiau pateiktame kode:

    • Pakartokite aptartus veiksmus, norėdami inicijuoti nulinę reikšmę ir iškviesti funkciją, perduodami „ nulinis “ vertė kaip argumentas.
    • Tada panašiai deklaruokite funkciją ' customFunc() “ turintis nurodytą parametrą.
    • Dabar pritaikykite „ jei/kitaip “ teiginys, kad esant patenkinta sąlyga „ jeigu “ sakinį, įvykdomas atitinkamas blokas.
    • Kitu atveju „ Kitas “ blokas įsigalios ir išmes aptartą išimtį.
    • Atkreipkite dėmesį, kad sąlyga „ jeigu “ teiginys yra identiškas ankstesniam požiūriui, todėl jį klastodamas.

Išvestis


Taip galite susitvarkyti su „ java.lang.NullPointerException “.

Išvada

java.lang.NullPointerException “ yra grąžinamas, kai iškviečiamas nuorodos kintamasis arba jis panaikinamas ir nenurodo jokiu objektu. Šią išimtį galima apdoroti įdėjus ją į ' pabandyk... sugauti “ pareiškimas, kad įvykdžius „ bandyti “ blokas, susidūrusią išimtį gali patenkinti pastarasis blokas. Taip pat „ jei/kitaip “ teiginys gali būti naudojamas norint išspręsti šią išimtį, įdedant jį į „ Kitas “ teiginys, jei „ jeigu “ pareiškimo nepavyksta įvykdyti. Šiame tinklaraštyje aptariami būdai, kaip susidoroti su java.lang.NullPointerException “.