Ebben az oktatóanyagban megismerkedhetünk a Java kivételével. Kitérünk a hibákra, kivételekre és a Java kivételes típusaira.
Kivételt képez egy váratlan esemény, amely a program futtatása során következik be. Hatással van a program utasításainak folyamatára, ami a program rendellenes leállását okozhatja.
Kivétel sok okból következhet be. Néhány közülük:
- Érvénytelen felhasználói bevitel
- Eszközhiba
- A hálózati kapcsolat megszakadása
- Fizikai korlátozások (lemerülő memória hiánya)
- Kódhibák
- Nem elérhető fájl megnyitása
Java kivétel hierarchiája
Itt található a Java hierarchiájának egyszerűsített ábrája.
Amint a fenti képből látható, az Throwable
osztály a hierarchia gyökérosztálya.
Vegye figyelembe, hogy a hierarchia két ágra oszlik: Hiba és Kivétel.
Hibák
A hibák olyan helyrehozhatatlan feltételeket jelentenek, mint a Java virtuális gép (JVM) kifogyó memóriája, a memória szivárgása, a verem túlcsordulási hibái, a könyvtár inkompatibilitása, a végtelen rekurzió stb.
A hibákat általában a programozó nem tudja ellenőrizni, és nem szabad megpróbálnunk kezelni a hibákat.
Kivételek
A kivételeket felfoghatja és kezelheti a program.
Amikor egy metóduson belül kivétel lép fel, objektumot hoz létre. Ezt az objektumot kivétel objektumnak hívják.
Ez a kivételről tartalmaz információkat, például a kivétel nevét és leírását, valamint a program állapotát, amikor a kivétel bekövetkezett.
A következő oktatóanyagban megtanuljuk, hogyan kell kezelni ezeket a kivételeket. Ebben az oktatóanyagban most különféle típusú kivételekre fogunk összpontosítani a Java-ban.
Java kivétel típusok
A kivétel hierarchiának két ága is van: RuntimeException
és IOException
.
1. Futásidejű kivétel
A futásidejű kivétel történik, mivel egy programozási hiba. Ellenőrizetlen kivételként is ismertek .
Ezeket a kivételeket nem fordítási, hanem futási időben ellenőrzik. Néhány általános futásidejű kivétel:
- Az API nem megfelelő használata -
IllegalArgumentException
- Null mutató hozzáférés (hiányzik egy változó inicializálása) -
NullPointerException
- Határon kívüli tömb-hozzáférés -
ArrayIndexOutOfBoundsException
- Szám elosztása 0-val -
ArithmeticException
Ilyen módon gondolkodhat rajta. "Ha futásidejű kivétel, akkor az a te hibád".
A NullPointerException
nem következett volna be, ha ellenőrizte, hogy a változó indítjuk-e vagy sem, mielőtt használja.
Egy ArrayIndexOutOfBoundsException
nem következett volna be, ha vizsgált tömbindexként ellen a tömb határait.
2. IOException
Az An ellenőrzött kivételkéntIOException
is ismert . A fordító a fordítás idején ellenőrzi őket, és a programozót felszólítja, hogy kezelje ezeket a kivételeket.
Néhány példa az ellenőrzött kivételekre:
- Nem létező fájl megnyitásával próbálkozik
FileNotFoundException
- Megpróbál olvasni egy fájl végén
Most ismerjük a kivételeket, a következő oktatóanyagban megismerhetjük a kivételek kezelését.