- Zpracování výjimek
- Výhoda zpracování výjimek
- Hierarchie tříd výjimek
- Typy výjimek
- Příklad výjimky
- 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íš?
|
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:
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:
- Zaškrtnutá výjimka
- Nezaškrtnutá výjimka
- Chyba
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é slovo | Popis |
---|---|
Snaž se | Klíč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. |
chytit | Blok '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ázet | Klíč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
- Java Try-Catch Block
- Java Multiple Catch Block
- Java Nested Try
- Java Konečně Block
- Klíčové slovo Java Throw
- Šíření výjimek Java
- Klíčové slovo Java Throws
- Java Throw vs Throws
- Java Final vs. Finalize vs
- Zpracování výjimek Java s přepsáním metody
- Vlastní výjimky Java