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