Ohjelmointikielissä virheiden kohtaaminen mahdollistaa useiden toimintojen suorittamisen asianmukaisesti kehittäjältä kehottamalla. Tällaisessa tapauksessa voi olla tapauksia, joissa kehittäjä voi kohdata ' java.lang.NullPointerException 'tiettyyn' tyhjä ” arvoa käsitellessään joukkodataa. Tämä poikkeus on käsiteltävä kooditoimintojen virtaviivaistamiseksi.
Tämä blogi käsittelee tapoja selviytyä ' java.lang.NullPointerException ”.
Kuinka ratkaista 'java.lang.NullPointerException'?
' java.lang.NullPointerException ” palautetaan, kun viitemuuttuja kutsutaan (tai siitä poistetaan viittaus), eikä se viittaa mihinkään objektiin.
'java.lang.NullPointerException' -esittely
Alla olevassa kuvassa näemme, kuinka käsitelty poikkeus tapahtuu:
Merkkijono s = nolla;
customFunc ( s ) ;
staattinen tyhjyys customFunc ( String str ) {
System.out.println ( str.length ( ) ) ;
}
Yllä olevassa koodinpätkässä:
-
- Aluksi merkkijono ' tyhjä ”arvoa.
- Kutsu seuraavassa vaiheessa funktio customFunc() välittämällä ilmoitettu merkkijono sen argumenttina.
- Määritä sen jälkeen funktio nimeltä ' customFunc() ” määrittämällä parametriksi merkkijono, joka on välitettävä.
- Palauta funktion määrittelyssä välitetyn merkkijonon pituus ' pituus ” omaisuutta.
- Tämä koodi toimii siten, että ohittamalla ' tyhjä ”-arvo funktiolle, käsitelty poikkeus heitetään:
Yllä olevassa tulosteessa voidaan havaita, että ' NullPointerException ' heitetään kutsuttaessa' tyhjä 'funktion argumenttina.
Lähestymistapa 1: Ratkaise 'java.lang.NullPointerException' käyttämällä 'try...catch' -lauseita
' yrittää '-lause auttaa määrittämään koodilohkon, joka on testattava virheiden varalta suorituksen aikana ja ' ottaa kiinni ”-lause tulee voimaan, jos try-lohkossa havaitaan rajoitus. Tarkemmin sanottuna ' java.lang.NullPointerException ' voidaan toteuttaa käyttämällä haluttua toimintoa 'try'-lohkossa ja sijoittamalla todennäköinen poikkeus 'catch'-lohkoon.
Syntaksi
yrittää {Koodilohko, jota kokeillaan
}
ottaa kiinni ( Poikkeus e ) {
Koodilohko kohdatun poikkeuksen käsittelemiseksi sisään kokeilulohko
}
Esimerkki
Katsotaanpa alla olevaa esimerkkiä:
Merkkijono s = nolla;customFunc ( s ) ;
staattinen tyhjyys customFunc ( String str ) {
yrittää {
System.out.println ( 'Ensimmäinen hahmo:' + str.indexOf ( 0 ) ) ;
}
ottaa kiinni ( NullPointerException e ) {
System.out.println ( 'NullPointerException heitetty!' ) ;
} }
Yllä olevilla koodiriveillä:
-
- Muista käsitellyt lähestymistavat '' tyhjä ”-arvo ja kutsua ilmoitettu funktio välittämällä sen argumenttina nolla-arvo.
- Määritä nyt samoin funktio nimeltä ' customFunc() ', jonka parametrina on välitettävä merkkijono.
- Käytä sen jälkeen ' yrittää ' -käsky hakeaksesi merkkijonon määritetyn merkin indeksin ' sisällysluettelo() ”menetelmä.
- Huomaa, että ' yrittää ”-lause voidaan suorittaa, jos merkkijono ei ole tyhjä. Koska arvo on ' tyhjä ', joten kohdataan poikkeus, jonka käsittelee ' ottaa kiinni ”lausunto.
Lähtö
Yllä olevassa tulosteessa voidaan nähdä, että määritetty poikkeus kattaa ' ottaa kiinni ”-lausunto ja niin se heitetään, mikä ratkaisee sen.
Lähestymistapa 2: Ratkaise 'java.lang.NullPointerException' käyttämällä 'if/else' -lausetta
Keskusteltu poikkeus voidaan myös selvittää ' tai muuten ”lausunto. Tämä voidaan tehdä yksinkertaisesti suorittamalla haluamasi toiminto ' jos ' -lausunto ja tyytymättömän tilan tapauksessa poikkeus palautetaan ' muu ”lausunto.
Syntaksi
jos ( kond ) {Lause, joka suoritetaan, kun ehto on täytetty, eli 'ehto'
}
muu {
Lausunto, joka suoritetaan tyytymättömille 'jos' kunto.
}
Esimerkki
Käy läpi seuraava esimerkki saadaksesi käsityksen poikkeuksesta selviytymisestä:
Merkkijono s = nolla;customFunc ( s ) ;
staattinen tyhjyys customFunc ( String str ) {
jos ( str ! = nolla ) {
System.out.println ( 'Ensimmäinen hahmo:' + str.indexOf ( 0 ) ) ;
}
muu {
System.out.println ( 'NullPointerException heitetty!' ) ;
}
}
Käytä alla käsiteltyjä vaiheita yllä olevan koodin mukaisesti:
-
- Toista käsitellyt vaiheet nolla-arvon alustamiseksi ja funktion käynnistämiseksi ohittamalla ' tyhjä ”-arvo argumenttinaan.
- Ilmoita seuraavaksi samalla tavalla funktio ' customFunc() ', jolla on määritetty parametri.
- Käytä nyt ' tai muuten ' lausuma siten, että jos ehto täyttyy ' jos ”-käsky, vastaava lohko suoritetaan.
- Toisessa tapauksessa ' muu ”-esto astuu voimaan ja heittää poikkeuksen.
- Huomaa, että ehto kohdassa ' jos ” väite on identtinen edellisen lähestymistavan kanssa ja siten väärentää sen.
Lähtö
Näin voit käsitellä ' java.lang.NullPointerException ”.
Johtopäätös
' java.lang.NullPointerException ' palautetaan, kun viitemuuttuja kutsutaan tai siitä poistetaan viittaus, eikä se viittaa mihinkään objektiin. Tämä poikkeus voidaan käsitellä asettamalla se ' yritä saada kiinni 'lausunto siten, että suoritettaessa ' yrittää ” lohko, jälkimmäinen lohko voi käsitellä poikkeuksen. Myös ' tai muuten '-lauseketta voidaan käyttää tämän poikkeuksen ratkaisemiseen sijoittamalla se ' muu ' lausunto, jos ' jos ”-lausetta ei voida suorittaa. Tässä blogissa käsiteltiin tapoja selviytyä ' java.lang.NullPointerException ”.