A programozási nyelvekben a hibák észlelése lehetővé teszi, hogy a fejlesztő kérésére különböző funkciókat megfelelően hajtsunk végre. Ilyen esetekben előfordulhatnak olyan esetek, amikor a fejlesztő szembesülhet a „ java.lang.NullPointerException 'egy bizonyos' nulla ” értékét tömeges adatok kezelése közben. Ezt a kivételt kezelni kell a kódfunkciók egyszerűsítése érdekében.
Ez a blog részletesebben bemutatja azokat a megközelítéseket, amelyekkel megbirkózni a „ java.lang.NullPointerException ”.
Hogyan lehet feloldani a „java.lang.NullPointerException” problémát?
A ' java.lang.NullPointerException ” akkor jelenik meg, ha egy referenciaváltozót hívunk meg (vagy törölünk róla), és nem hivatkozik egyetlen objektumra sem.
A „java.lang.NullPointerException” bemutatása
Az alábbi ábrán látni fogjuk, hogyan történik a tárgyalt kivétel:
Karakterlánc s = null;
customFunc ( s ) ;
statikus üresség customFunc ( String str ) {
System.out.println ( str.hossz ( ) ) ;
}
A fenti kódrészletben:
-
- Először inicializáljon egy karakterláncot egy „ nulla ” értékét.
- A következő lépésben hívja meg a customFunc() függvényt a deklarált karakterlánc argumentumként való átadásával.
- Ezután definiáljon egy '' nevű függvényt customFunc() ” paraméterként megadva egy karakterláncot, amelyet át kell adni.
- A függvénydefinícióban adja vissza az átadott karakterlánc hosszát a ' hossz ' ingatlan.
- Ez a kód úgy fog működni, hogy egy ' nulla ” értékét a függvényhez, a tárgyalt kivételt a rendszer dobja:
A fenti kimenetben megfigyelhető, hogy a „ NullPointerException '' jelenik meg hívásakor nulla ” függvény argumentumként.
1. megközelítés: Oldja meg a „java.lang.NullPointerException” problémát a „try…catch” utasításokkal
A ' próbáld ki ” utasítás segít meghatározni egy kódblokkot, amelyet futtatás közben tesztelni kell hibákra, és a „ fogás ” utasítás akkor lép életbe, ha a try blokkban korlátozás lép fel. Pontosabban a „ java.lang.NullPointerException ” úgy lehet kiszolgálni, hogy a kívánt műveletet alkalmazza a „try” blokkban, és a valószínű kivételt a „catch” blokkban helyezi el.
Szintaxis
próbáld ki {A kipróbálandó kódblokk
}
fogás ( Kivétel e ) {
A kódblokk az arckivétel kezelésére ban ben a try blokk
}
Példa
Tekintsük át az alábbi példát:
Karakterlánc s = null;customFunc ( s ) ;
statikus üresség customFunc ( String str ) {
próbáld ki {
System.out.println ( 'Első karakter:' + str.indexOf ( 0 ) ) ;
}
fogás ( NullPointerException e ) {
System.out.println ( 'NullPointerException dobva!' ) ;
} }
A fenti kódsorokban:
-
- Emlékezzünk vissza a tárgyalt megközelítésekre egy „ nulla ” értékét, és meghívja a megadott függvényt úgy, hogy argumentumaként a null értéket adja át.
- Most hasonlóképpen definiáljon egy '' nevű függvényt customFunc() ” amelynek paramétere az átadandó karakterlánc.
- Ezt követően alkalmazza a „ próbáld ki ' utasítás a megadott karakter indexének lekéréséhez egy karakterláncban a ' indexe() ” módszerrel.
- Vegye figyelembe, hogy a „ próbáld ki ” utasítás akkor hajtható végre, ha a karakterlánc nem null. Mivel az érték ' nulla ', így a rendszer kivételt fog tapasztalni, amelyet a ' fogás ' nyilatkozat.
Kimenet
A fenti kimenetben látható, hogy a megadott kivételt a „ fogás ” kijelentést, és így dobják, ezáltal feloldják.
2. megközelítés: A „java.lang.NullPointerException” megoldása az „if/else” utasítás használatával
A tárgyalt kivételt a „ ha más ' nyilatkozat. Ezt úgy teheti meg, hogy egyszerűen végrehajtja a kívánt műveletet a „ ha ' utasítást, és nem kielégítő feltétel esetén kivételt ad vissza a ' más ' nyilatkozat.
Szintaxis
ha ( vez ) {A teljesített feltétel, azaz a „feltétel” esetén végrehajtandó utasítás
}
más {
Az elégedetlenekre végrehajtandó nyilatkozat 'ha' feltétel.
}
Példa
Nézze át a következő példát, hogy megértse a kivételekkel való megbirkózást:
Karakterlánc s = null;customFunc ( s ) ;
statikus üresség customFunc ( String str ) {
ha ( str ! = null ) {
System.out.println ( 'Első karakter:' + str.indexOf ( 0 ) ) ;
}
más {
System.out.println ( 'NullPointerException dobott!' ) ;
}
}
Alkalmazza az alább tárgyalt lépéseket a fenti kódban megadottak szerint:
-
- Ismételje meg a leírt lépéseket a null érték inicializálásához és a függvény meghívásához a „ nulla ” érték mint érv.
- Ezután hasonló módon deklarálja a „függvényt customFunc() ” a megadott paraméterrel.
- Most alkalmazza a „ ha más ' kijelentést úgy, hogy amennyiben a ' ha ” utasítást, a megfelelő blokk végrehajtja.
- A másik esetben a „ más ” blokk lép életbe, és dobja a tárgyalt kivételt.
- Vegye figyelembe, hogy a ' ha ” állítás megegyezik az előbbi megközelítéssel, ezáltal meghamisítja azt.
Kimenet
Így tudod kezelni a ' java.lang.NullPointerException ”.
Következtetés
A ' java.lang.NullPointerException ” akkor kerül visszaadásra, ha egy referenciaváltozót meghívnak vagy megszüntetnek, és nem hivatkozik egyetlen objektumra sem. Ez a kivétel kezelhető, ha a „ próbáld… elkapni ' kijelentést úgy, hogy a ' próbáld ki ” blokk, a szembefordult kivételt az utóbbi blokk tudja kiszolgálni. Továbbá a „ ha más ' utasítás használható a kivétel feloldására, ha elhelyezi a ' más ' kijelentés, ha a ' ha ” utasítás végrehajtása sikertelen. Ez a blog a „ java.lang.NullPointerException ”.