logo

Zpracování výjimek v Javě

  1. Zpracování výjimek
  2. Výhoda zpracování výjimek
  3. Hierarchie tříd výjimek
  4. Typy výjimek
  5. Příklad výjimky
  6. Scénáře, kde může dojít k výjimce

The Zpracování výjimek v Javě je jedním z mocných mechanismus pro zpracování chyb za běhu aby mohl být zachován normální průběh aplikace.

V tomto tutoriálu se seznámíme s výjimkami Java, jejich typy a rozdílem mezi zaškrtnutými a nezaškrtnutými výjimkami.

bash délka struny

Co je výjimka v Javě?

Význam slovníku: Výjimkou je abnormální stav.

V Javě je výjimkou událost, která naruší normální běh programu. Je to objekt, který je vržen za běhu.

Co je zpracování výjimek?

Zpracování výjimek je mechanismus pro zpracování chyb za běhu, jako jsou ClassNotFoundException, IOException, SQLException, RemoteException atd.

Výhoda zpracování výjimek

Hlavní výhodou zpracování výjimek je pro udržení normálního průběhu aplikace . Výjimka normálně naruší normální tok aplikace; proto musíme řešit výjimky. Zvažme scénář:

 statement 1; statement 2; statement 3; statement 4; statement 5;//exception occurs statement 6; statement 7; statement 8; statement 9; statement 10; 

Předpokládejme, že v programu Java je 10 příkazů a na příkazu 5 dojde k výjimce; zbytek kódu nebude proveden, tj. příkazy 6 až 10 nebudou provedeny. Když však provádíme zpracování výjimek, provede se zbytek příkazů. Proto používáme zpracování výjimek v Jáva .

Víš?
  • Jaký je rozdíl mezi zaškrtnutými a nezaškrtnutými výjimkami?
  • Co se děje za kódem int data=50/0;?
  • Proč používat blok s více úlovky?
  • Existuje nějaká možnost, kdy se konečný blok neprovede?
  • Co je to šíření výjimek?
  • Jaký je rozdíl mezi klíčovým slovem throw a throws?
  • Jaká jsou 4 pravidla pro použití zpracování výjimek s přepsáním metody?

Hierarchie tříd Java Exception

Třída java.lang.Throwable je kořenová třída hierarchie Java Exception zděděná dvěma podtřídami: Exception a Error. Hierarchie tříd Java Exception je uvedena níže:

hierarchie zpracování výjimek

Typy výjimek Java

Existují hlavně dva typy výjimek: zaškrtnuté a nezaškrtnuté. Chyba je považována za nekontrolovanou výjimku. Podle společnosti Oracle však existují tři typy výjimek, a to:

  1. Zaškrtnutá výjimka
  2. Nezaškrtnutá výjimka
  3. Chyba
hierarchie zpracování výjimek

Rozdíl mezi zaškrtnutými a nezaškrtnutými výjimkami

1) Zaškrtnutá výjimka

Třídy, které přímo dědí třídu Throwable kromě RuntimeException a Error, jsou známé jako kontrolované výjimky. Například IOException, SQLException atd. Kontrolované výjimky jsou kontrolovány v době kompilace.

2) Nezaškrtnutá výjimka

Třídy, které zdědí RuntimeException, jsou známé jako nekontrolované výjimky. Například ArithmeticException, NullPointerException, ArrayIndexOutOfBoundsException atd. Nezaškrtnuté výjimky nejsou kontrolovány při kompilaci, ale jsou kontrolovány za běhu.

3) Chyba

Chyba je neodstranitelná. Některé příklady chyb jsou OutOfMemoryError, VirtualMachineError, AssertionError atd.

Klíčová slova Java Exception

Java poskytuje pět klíčových slov, která se používají ke zpracování výjimky. Následující tabulka popisuje každý z nich.

Klíčové slovoPopis
Snaž seKlíčové slovo 'try' se používá k určení bloku, kam bychom měli umístit kód výjimky. Znamená to, že nemůžeme použít try block samostatně. Po bloku try musí následovat buď catch, nebo nakonec.
chytitBlok 'catch' se používá ke zpracování výjimky. Musí mu předcházet blok try, což znamená, že nemůžeme použít blok catch samostatně. Později může následovat blokování.
KonečněBlok 'konečně' se používá k provedení potřebného kódu programu. Provádí se bez ohledu na to, zda je výjimka zpracována nebo ne.
házetKlíčové slovo 'throw' se používá k vyvolání výjimky.
házíKlíčové slovo 'throws' se používá k deklaraci výjimek. Určuje, že v metodě může nastat výjimka. Nevyvolá výjimku. Vždy se používá s podpisem metody.

Příklad zpracování výjimek Java

Podívejme se na příklad Java Exception Handling, ve kterém ke zpracování výjimky používáme příkaz try-catch.

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...'); } } 
Otestujte to hned

Výstup:

 Exception in thread main java.lang.ArithmeticException:/ by zero rest of the code... 

Ve výše uvedeném příkladu 100/0 vyvolá výjimku ArithmeticException, která je zpracována blokem try-catch.

Běžné scénáře výjimek Java

Jsou uvedeny některé scénáře, kdy se mohou vyskytnout nekontrolované výjimky. Jsou následující:

1) Scénář, kde dojde k výjimce ArithmeticException

Pokud vydělíme libovolné číslo nulou, dojde k aritmetické výjimce.

 int a=50/0;//ArithmeticException 

2) Scénář, kde dochází k výjimce NullPointerException

Pokud máme v nějakém nulovou hodnotu variabilní , provedení jakékoli operace s proměnnou vyvolá výjimku NullPointerException.

 String s=null; System.out.println(s.length());//NullPointerException 

3) Scénář, kde dojde k výjimce NumberFormatException

Pokud se formátování libovolné proměnné nebo čísla neshoduje, může to vést k výjimce NumberFormatException. Předpokládejme, že máme a tětiva proměnná, která má znaky; převod této proměnné na číslici způsobí výjimku NumberFormatException.

 String s='abc'; int i=Integer.parseInt(s);//NumberFormatException 

4) Scénář, kde dojde k výjimce ArrayIndexOutOfBoundsException

Když pole překročí svou velikost, dojde k výjimce ArrayIndexOutOfBoundsException. mohou existovat i jiné důvody, proč nastat výjimka ArrayIndexOutOfBoundsException. Zvažte následující tvrzení.

 int a[]=new int[5]; a[10]=50; //ArrayIndexOutOfBoundsException 

Index Java Exceptions

  1. Java Try-Catch Block
  2. Java Multiple Catch Block
  3. Java Nested Try
  4. Java Konečně Block
  5. Klíčové slovo Java Throw
  6. Šíření výjimek Java
  7. Klíčové slovo Java Throws
  8. Java Throw vs Throws
  9. Java Final vs. Finalize vs
  10. Zpracování výjimek Java s přepsáním metody
  11. Vlastní výjimky Java