logo

Spracovanie výnimiek v jazyku Java

  1. Spracovanie výnimiek
  2. Výhoda spracovania výnimiek
  3. Hierarchia tried výnimiek
  4. Typy výnimiek
  5. Príklad výnimky
  6. 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š?
  • Aký je rozdiel medzi začiarknutými a nekontrolovanými výnimkami?
  • Čo sa deje za kódom int data=50/0;?
  • Prečo používať blok s viacerými úlovkami?
  • Existuje nejaká možnosť, keď sa konečný blok nevykoná?
  • Čo je to šírenie výnimiek?
  • Aký je rozdiel medzi kľúčovým slovom throw a throws?
  • Aké sú 4 pravidlá používania spracovania výnimiek s prepisovaním metódy?

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:

hierarchia spracovania výnimiek

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:

  1. Začiarknutá výnimka
  2. Nezačiarknutá výnimka
  3. Chyba
hierarchia spracovania výnimiek

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é slovoPopis
skústeKľúč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čneBlok „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žeKľúč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

  1. Java Try-Catch Block
  2. Java Multiple Catch Block
  3. Java Nested Try
  4. Java Last Block
  5. Kľúčové slovo Java Throw
  6. Propagácia Java Exception
  7. Kľúčové slovo Java hodí
  8. Java Throw vs Throws
  9. Java Final vs Final vs Finalize
  10. Spracovanie výnimiek Java s prepisovaním metódy
  11. Vlastné výnimky Java