- Spracovanie výnimiek
- Výhoda spracovania výnimiek
- Hierarchia tried výnimiek
- Typy výnimiek
- Príklad výnimky
- Scenáre, v ktorých môže nastať výnimka
The Spracovanie výnimiek v jazyku Java je jedným z mocných mechanizmus na spracovanie chýb pri behu aby bolo možné zachovať normálny priebeh aplikácie.
V tomto návode sa dozvieme o výnimkách Java, ich typoch a rozdieloch medzi kontrolovanými a nekontrolovanými výnimkami.
linuxové príkazy vytvárajú priečinok
Čo je výnimka v jazyku Java?
Význam slovníka: Výnimkou je abnormálny stav.
V jazyku Java je výnimkou udalosť, ktorá naruší normálny priebeh programu. Je to objekt, ktorý je vyhodený za behu.
Čo je to spracovanie výnimiek?
Spracovanie výnimiek je mechanizmus na spracovanie chýb pri spustení, ako sú ClassNotFoundException, IOException, SQLException, RemoteException atď.
Výhoda spracovania výnimiek
Hlavnou výhodou spracovania výnimiek je aby sa zachoval normálny priebeh aplikácie . Výnimka zvyčajne naruší normálny priebeh aplikácie; preto musíme riešiť výnimky. Uvažujme o scenári:
statement 1; statement 2; statement 3; statement 4; statement 5;//exception occurs statement 6; statement 7; statement 8; statement 9; statement 10;
Predpokladajme, že v programe Java je 10 príkazov a pri príkaze 5 sa vyskytne výnimka; zvyšok kódu sa nevykoná, t.j. príkazy 6 až 10 sa nevykonajú. Keď však vykonáme spracovanie výnimiek, ostatné príkazy sa vykonajú. Preto používame spracovanie výnimiek v Java .
Vieš?
|
Hierarchia tried Java Exception
Trieda java.lang.Throwable je koreňová trieda hierarchie Java Exception zdedená dvomi podtriedami: Exception a Error. Hierarchia tried Java Exception je uvedená nižšie:
Typy výnimiek Java
Existujú hlavne dva typy výnimiek: začiarknuté a nezačiarknuté. Chyba sa považuje za nekontrolovanú výnimku. Podľa Oracle však existujú tri typy výnimiek, a to:
- Začiarknutá výnimka
- Nezačiarknutá výnimka
- Chyba
Rozdiel medzi začiarknutými a nezačiarknutými výnimkami
1) Začiarknutá výnimka
Triedy, ktoré priamo dedia triedu Throwable okrem RuntimeException a Error, sú známe ako kontrolované výnimky. Napríklad IOException, SQLException atď. Kontrolované výnimky sa kontrolujú v čase kompilácie.
2) Nezaškrtnutá výnimka
Triedy, ktoré dedia RuntimeException, sú známe ako nekontrolované výnimky. Napríklad ArithmeticException, NullPointerException, ArrayIndexOutOfBoundsException atď. Nezačiarknuté výnimky sa nekontrolujú počas kompilácie, ale sú kontrolované počas behu.
3) Chyba
Chyba je neodstrániteľná. Niektoré príklady chýb sú OutOfMemoryError, VirtualMachineError, AssertionError atď.
Kľúčové slová výnimky Java
Java poskytuje päť kľúčových slov, ktoré sa používajú na spracovanie výnimky. Nasledujúca tabuľka popisuje každý z nich.
Kľúčové slovo | Popis |
---|---|
skúste | Kľúčové slovo 'try' sa používa na špecifikáciu bloku, kam by sme mali umiestniť kód výnimky. Znamená to, že nemôžeme použiť len try block. Po bloku try musí nasledovať buď catch, alebo nakoniec. |
chytiť | Blok 'catch' sa používa na spracovanie výnimky. Musí mu predchádzať blok try, čo znamená, že nemôžeme použiť blok catch samostatne. Po ňom môže nasledovať konečne blokovanie neskôr. |
konečne | Blok „konečne“ sa používa na vykonanie potrebného kódu programu. Vykoná sa bez ohľadu na to, či sa výnimka spracuje alebo nie. |
hodiť | Kľúčové slovo 'throw' sa používa na vyvolanie výnimky. |
hádže | Kľúčové slovo 'throws' sa používa na deklarovanie výnimiek. Špecifikuje, že v metóde môže nastať výnimka. Nevyvoláva výnimku. Vždy sa používa s podpisom metódy. |
Príklad spracovania výnimiek Java
Pozrime sa na príklad Java Exception Handling, v ktorom používame príkaz try-catch na spracovanie výnimky.
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...'); } }Vyskúšajte to
Výkon:
Exception in thread main java.lang.ArithmeticException:/ by zero rest of the code...
Vo vyššie uvedenom príklade 100/0 vyvoláva výnimku ArithmeticException, ktorá je spracovaná blokom try-catch.
Bežné scenáre výnimiek v jazyku Java
Existuje niekoľko scenárov, v ktorých sa môžu vyskytnúť nekontrolované výnimky. Sú nasledovné:
1) Scenár, v ktorom dôjde k výnimke ArithmeticException
Ak vydelíme ľubovoľné číslo nulou, vznikne aritmetická výnimka.
int a=50/0;//ArithmeticException
2) Scenár, v ktorom dôjde k výnimke NullPointerException
Ak máme v niektorom nulovú hodnotu premenlivý , vykonanie akejkoľvek operácie s premennou vyvolá výnimku NullPointerException.
String s=null; System.out.println(s.length());//NullPointerException
3) Scenár, v ktorom dôjde k výnimke NumberFormatException
Ak sa formátovanie akejkoľvek premennej alebo čísla nezhoduje, môže to viesť k výnimke NumberFormatException. Predpokladajme, že máme a reťazec premenná, ktorá má znaky; konverzia tejto premennej na číslicu spôsobí výnimku NumberFormatException.
String s='abc'; int i=Integer.parseInt(s);//NumberFormatException
4) Scenár, v ktorom sa vyskytne výnimka ArrayIndexOutOfBoundsException
Keď pole prekročí svoju veľkosť, objaví sa výnimka ArrayIndexOutOfBoundsException. môžu existovať aj iné dôvody na výskyt výnimky ArrayIndexOutOfBoundsException. Zvážte nasledujúce tvrdenia.
int a[]=new int[5]; a[10]=50; //ArrayIndexOutOfBoundsException
Index Java Exceptions
- Java Try-Catch Block
- Java Multiple Catch Block
- Java Nested Try
- Java Last Block
- Kľúčové slovo Java Throw
- Propagácia Java Exception
- Kľúčové slovo Java hodí
- Java Throw vs Throws
- Java Final vs Final vs Finalize
- Spracovanie výnimiek Java s prepisovaním metódy
- Vlastné výnimky Java