- Kivételkezelés
- A kivételkezelés előnyei
- Kivétel osztályok hierarchiája
- A kivételek típusai
- Kivétel példa
- Forgatókönyvek, amelyekben kivétel előfordulhat
A Kivételkezelés Java nyelven az egyik hatalmas futásidejű hibák kezelésére szolgáló mechanizmus hogy az alkalmazás normál áramlása megmaradjon.
Ebben az oktatóanyagban megismerjük a Java-kivételeket, azok típusait, valamint a bejelölt és a nem ellenőrzött kivételek közötti különbséget.
icloud képek androidra
Mi a kivétel a Java nyelven?
A szótár jelentése: A kivétel abnormális állapot.
A Java-ban kivételt jelent az az esemény, amely megzavarja a program normál működését. Ez egy tárgy, amelyet futás közben dobnak.
Mi az a kivételkezelés?
A kivételkezelés olyan futásidejű hibák kezelésére szolgáló mechanizmus, mint a ClassNotFoundException, IOException, SQLException, RemoteException stb.
A kivételkezelés előnyei
A kivételkezelés fő előnye az az alkalmazás normál áramlásának fenntartásához . Egy kivétel általában megzavarja az alkalmazás normál áramlását; ezért kell kezelnünk a kivételeket. Vegyünk egy forgatókönyvet:
statement 1; statement 2; statement 3; statement 4; statement 5;//exception occurs statement 6; statement 7; statement 8; statement 9; statement 10;
Tegyük fel, hogy egy Java programban 10 utasítás van, és az 5. utasításnál kivétel történik; a kód többi része nem kerül végrehajtásra, azaz a 6-tól 10-ig terjedő utasítások nem hajtódnak végre. Amikor azonban kivételkezelést végzünk, a többi utasítás végrehajtásra kerül. Ezért használjuk a kivételkezelést Jáva .
Tudod?
|
A Java Exception osztályok hierarchiája
A java.lang.Throwable osztály a Java Exception hierarchia gyökérosztálya, amelyet két alosztály örökölt: Exception és Error. A Java Exception osztályok hierarchiája alább látható:
Java-kivételek típusai
Főleg kétféle kivétel létezik: bejelölt és ellenőrizetlen. A hiba nem ellenőrzött kivételnek minősül. Az Oracle szerint azonban háromféle kivétel létezik:
- Ellenőrzött kivétel
- Nincs bejelölve Kivétel
- Hiba
Különbség a bejelölt és nem ellenőrzött kivételek között
1) Ellenőrzött kivétel
Azokat az osztályokat, amelyek közvetlenül öröklik a Throwable osztályt a RuntimeException és Error kivételével, ellenőrzött kivételeknek nevezzük. Például IOException, SQLException stb. Az ellenőrzött kivételek ellenőrzése fordításkor történik.
2) Nem bejelölt kivétel
Azokat az osztályokat, amelyek a RuntimeException-t öröklik, ellenőrizetlen kivételeknek nevezzük. Például az ArithmeticException, a NullPointerException, az ArrayIndexOutOfBoundsException stb. A nem ellenőrzött kivételeket a rendszer nem ellenőrzi fordításkor, de futás közben.
3) Hiba
A hiba helyrehozhatatlan. Néhány példa a hibákra: OutOfMemoryError, VirtualMachineError, AssertionError stb.
Java kivételes kulcsszavak
A Java öt kulcsszót biztosít a kivétel kezelésére. Az alábbi táblázat mindegyiket leírja.
Kulcsszó | Leírás |
---|---|
próbáld ki | A 'try' kulcsszó egy blokk megadására szolgál, ahová kivételkódot kell elhelyeznünk. Ez azt jelenti, hogy nem használhatjuk egyedül a próbablokkot. A try blokkot vagy elkapásnak, vagy végül is követnie kell. |
fogás | A „catch” blokk a kivétel kezelésére szolgál. Meg kell előznie a try blokkot, ami azt jelenti, hogy nem használhatjuk egyedül a catch blokkot. Utána később következhet a végleges blokkolás. |
végül | A „végre” blokk a program szükséges kódjának végrehajtására szolgál. A végrehajtás attól függetlenül történik, hogy a kivételt kezelték-e vagy sem. |
dobás | A „dobás” kulcsszó kivételek dobására szolgál. |
dobások | A „dobok” kulcsszó kivételek deklarálására szolgál. Meghatározza, hogy előfordulhat kivétel a metódusban. Nem jelent kivételt. Mindig metódus aláírással együtt használatos. |
Java kivételkezelési példa
Lássunk egy példát a Java kivételkezelésre, amelyben try-catch utasítást használunk a kivétel kezelésére.
JavaExceptionExample.java
public class JavaExceptionExample{ public static void main(String args[]){ try{ //code that may raise exception int data=100/0; }catch(ArithmeticException e){System.out.println(e);} //rest code of the program System.out.println('rest of the code...'); } }Tesztelje most
Kimenet:
Exception in thread main java.lang.ArithmeticException:/ by zero rest of the code...
A fenti példában a 100/0 aritmetikai kivételt vet fel, amelyet egy try-catch blokk kezel.
A Java-kivételek gyakori forgatókönyvei
Vannak olyan forgatókönyvek, amelyekben ellenőrizetlen kivételek fordulhatnak elő. Ezek a következők:
1) Egy forgatókönyv, ahol az Aritmetikai kivétel előfordul
Ha bármely számot elosztunk nullával, akkor aritmetikai kivétel lép fel.
int a=50/0;//ArithmeticException
2) Egy forgatókönyv, amelyben NullPointerException történik
Ha bármelyikben null értékünk van változó , ha bármilyen műveletet hajt végre a változón, NullPointerException-t dob.
String s=null; System.out.println(s.length());//NullPointerException
3) Egy forgatókönyv, amelyben a NumberFormatException előfordul
Ha bármely változó vagy szám formázása nem egyezik, az NumberFormatException-t eredményezhet. Tegyük fel, hogy van egy húr karaktereket tartalmazó változó; ennek a változónak számjegyre konvertálása NumberFormatException kivételt okoz.
String s='abc'; int i=Integer.parseInt(s);//NumberFormatException
4) Egy forgatókönyv, amelyben az ArrayIndexOutOfBoundsException történik
Ha egy tömb mérete meghaladja a méretét, az ArrayIndexOutOfBoundsException történik. az ArrayIndexOutOfBoundsException előfordulásának egyéb okai is lehetnek. Vegye figyelembe a következő állításokat.
int a[]=new int[5]; a[10]=50; //ArrayIndexOutOfBoundsException
Java kivételek indexe
- Java Try-Catch Block
- Java többszörös fogási blokk
- Java Nested Try
- Java Végül blokk
- Java dobás kulcsszó
- Java kivételek terjedése
- Java dobja a kulcsszót
- Java dobás vs dobás
- Java Final vs Végül vs Finalize
- Java kivételek kezelése metódus felülbírálásával
- Java egyéni kivételek