logo

Kivételkezelés Java nyelven

  1. Kivételkezelés
  2. A kivételkezelés előnyei
  3. Kivétel osztályok hierarchiája
  4. A kivételek típusai
  5. Kivétel példa
  6. 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?
  • Mi a különbség a bejelölt és a nem ellenőrzött kivételek között?
  • Mi történik az int data=50/0; kód mögött?
  • Miért használjunk többszörös fogási blokkot?
  • Van-e lehetőség arra, hogy a végső blokkot nem hajtják végre?
  • Mi a kivételterjesztés?
  • Mi a különbség a dobás és a dobás kulcsszó között?
  • Mi a 4 szabály a kivételkezelés használatának metódus felülbírálásával?

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ó:

kivételkezelési hierarchia

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:

  1. Ellenőrzött kivétel
  2. Nincs bejelölve Kivétel
  3. Hiba
kivételkezelési hierarchia

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 kiA '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ásA „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ülA „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ásA „dobás” kulcsszó kivételek dobására szolgál.
dobásokA „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

  1. Java Try-Catch Block
  2. Java többszörös fogási blokk
  3. Java Nested Try
  4. Java Végül blokk
  5. Java dobás kulcsszó
  6. Java kivételek terjedése
  7. Java dobja a kulcsszót
  8. Java dobás vs dobás
  9. Java Final vs Végül vs Finalize
  10. Java kivételek kezelése metódus felülbírálásával
  11. Java egyéni kivételek