logo

Rukovanje iznimkama u Javi

  1. Rukovanje iznimkama
  2. Prednost rukovanja iznimkama
  3. Hijerarhija klasa izuzetaka
  4. Vrste iznimki
  5. Primjer iznimke
  6. Scenariji u kojima se može dogoditi iznimka

The Rukovanje iznimkama u Javi jedan je od moćnih mehanizam za obradu pogrešaka tijekom izvođenja tako da se može održati normalan tok aplikacije.

U ovom vodiču naučit ćemo o Java iznimkama, njihovim vrstama i razlici između označenih i neprovjerenih iznimki.

tigar lav razlika

Što je Exception u Javi?

Rječničko značenje: Iznimka je nenormalno stanje.

U Javi je iznimka događaj koji remeti normalan tijek programa. To je objekt koji se izbacuje tijekom izvođenja.

Što je rukovanje iznimkama?

Rukovanje iznimkama je mehanizam za obradu pogrešaka u vremenu izvođenja kao što su ClassNotFoundException, IOException, SQLException, RemoteException itd.

Prednost rukovanja iznimkama

Glavna prednost rukovanja iznimkama je za održavanje normalnog tijeka aplikacije . Iznimka obično ometa normalan tijek aplikacije; zato moramo rješavati iznimke. Razmotrimo scenarij:

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

Pretpostavimo da postoji 10 izjava u Java programu i da se iznimka dogodi na izjavi 5; ostatak koda neće biti izvršen, tj. naredbe 6 do 10 neće biti izvršene. Međutim, kada izvršimo obradu izuzetaka, ostatak naredbi će se izvršiti. Zato koristimo rukovanje iznimkama Java .

Znaš li?
  • Koja je razlika između provjerenih i neprovjerenih iznimaka?
  • Što se događa iza koda int data=50/0;?
  • Zašto koristiti višestruki catch blok?
  • Postoji li ikakva mogućnost kada se finally blok ne izvrši?
  • Što je širenje izuzetaka?
  • Koja je razlika između ključne riječi bacanja i bacanja?
  • Koja su 4 pravila za korištenje rukovanja iznimkama s nadjačavanjem metode?

Hijerarhija Java Exception klasa

Klasa java.lang.Throwable je korijenska klasa hijerarhije Java Exception koju nasljeđuju dvije podklase: Exception i Error. Hijerarhija Java Exception klasa je data ispod:

hijerarhija rukovanja iznimkama

Vrste Java iznimaka

Uglavnom postoje dvije vrste iznimaka: označene i neoznačene. Pogreška se smatra neprovjerenom iznimkom. Međutim, prema Oracleu, postoje tri vrste iznimaka, naime:

  1. Označena iznimka
  2. Neprovjerena iznimka
  3. Greška
hijerarhija rukovanja iznimkama

Razlika između označenih i neprovjerenih iznimaka

1) Provjerena iznimka

Klase koje izravno nasljeđuju klasu Throwable osim RuntimeException i Error poznate su kao provjerene iznimke. Na primjer, IOException, SQLException itd. Provjerene iznimke provjeravaju se tijekom kompilacije.

2) Neprovjerena iznimka

Klase koje nasljeđuju RuntimeException poznate su kao neprovjerene iznimke. Na primjer, ArithmeticException, NullPointerException, ArrayIndexOutOfBoundsException, itd. Neprovjerene iznimke ne provjeravaju se tijekom kompajliranja, ali se provjeravaju tijekom izvođenja.

3) Pogreška

Greška je nepopravljiva. Neki primjeri pogrešaka su OutOfMemoryError, VirtualMachineError, AssertionError itd.

Ključne riječi Java iznimke

Java nudi pet ključnih riječi koje se koriste za rukovanje iznimkom. Sljedeća tablica opisuje svaki.

Ključna riječOpis
probatiKljučna riječ 'try' koristi se za određivanje bloka u koji trebamo postaviti kod iznimke. To znači da ne možemo koristiti samo try block. Nakon bloka try mora slijediti catch ili finally.
ulovBlok 'catch' koristi se za obradu iznimke. Mora mu prethoditi try block što znači da ne možemo koristiti samo catch blok. Kasnije može uslijediti konačna blokada.
konačnoBlok 'finally' koristi se za izvođenje potrebnog koda programa. Izvršava se neovisno o tome je li obrađena iznimka ili ne.
bacanjeKljučna riječ 'throw' koristi se za izbacivanje iznimke.
bacanjaKljučna riječ 'throws' koristi se za deklariranje iznimaka. Određuje da može doći do iznimke u metodi. Ne stvara iznimku. Uvijek se koristi s potpisom metode.

Primjer rukovanja Java iznimkom

Pogledajmo primjer rukovanja iznimkama u Javi u kojem koristimo naredbu try-catch za obradu iznimke.

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...'); } } 
Testirajte sada

Izlaz:

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

U gornjem primjeru, 100/0 pokreće ArithmeticException kojim upravlja blok try-catch.

Uobičajeni scenariji Java iznimaka

Postoje neki scenariji u kojima se mogu pojaviti neprovjereni izuzeci. Oni su sljedeći:

1) Scenarij u kojem se javlja ArithmeticException

Ako bilo koji broj podijelimo s nulom, javlja se ArithmeticException.

 int a=50/0;//ArithmeticException 

2) Scenarij u kojem se javlja NullPointerException

Ako u bilo kojem imamo nultu vrijednost varijabla , izvođenje bilo koje operacije na varijabli izbacuje NullPointerException.

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

3) Scenarij u kojem se javlja NumberFormatException

Ako se oblikovanje bilo koje varijable ili broja ne podudara, to može dovesti do NumberFormatException. Pretpostavimo da imamo a niz varijabla koja ima znakove; pretvaranje ove varijable u znamenku uzrokovat će NumberFormatException.

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

4) Scenarij u kojem se javlja ArrayIndexOutOfBoundsException

Kada polje premaši svoju veličinu, pojavljuje se iznimka ArrayIndexOutOfBoundsException. mogu postojati drugi razlozi za pojavu ArrayIndexOutOfBoundsException. Razmotrite sljedeće izjave.

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

Indeks Java izuzetaka

  1. Java Try-Catch blok
  2. Java Multiple Catch Block
  3. Java ugniježđeni pokušaj
  4. Java konačno blokira
  5. Java Throw Keyword
  6. Propagacija Java iznimke
  7. Java baca ključnu riječ
  8. Java bacanje protiv bacanja
  9. Java Final vs Finally vs Finalize
  10. Rukovanje Java iznimkama s nadjačavanjem metode
  11. Java prilagođene iznimke