logo

Obravnava izjem v Javi

  1. Obravnava izjem
  2. Prednost obravnavanja izjem
  3. Hierarhija izjemnih razredov
  4. Vrste izjem
  5. Primer izjeme
  6. Scenariji, kjer lahko pride do izjeme

The Obravnava izjem v Javi je eden izmed močnejših mehanizem za obravnavo napak med izvajanjem tako da se lahko ohrani normalen potek aplikacije.

V tej vadnici bomo spoznali izjeme Java, njene vrste in razliko med označenimi in nepreverjenimi izjemami.

javascript if stavek

Kaj je izjema v Javi?

Slovarski pomen: Izjema je nenormalno stanje.

V Javi je izjema dogodek, ki zmoti običajni potek programa. Je predmet, ki se vrže med izvajanjem.

Kaj je obravnavanje izjem?

Obravnavanje izjem je mehanizem za obravnavo napak med izvajanjem, kot so ClassNotFoundException, IOException, SQLException, RemoteException itd.

Prednost obravnavanja izjem

Glavna prednost obravnavanja izjem je za vzdrževanje normalnega poteka aplikacije . Izjema običajno moti običajni potek aplikacije; zato moramo obravnavati izjeme. Razmislimo o scenariju:

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

Recimo, da je v programu Java 10 stavkov in pri stavku 5 pride do izjeme; preostali del kode ne bo izveden, tj. stavki od 6 do 10 ne bodo izvedeni. Ko pa izvedemo obravnavo izjem, se bodo preostali stavki izvedli. Zato uporabljamo obravnavanje izjem Java .

Ali veš?
  • Kakšna je razlika med označenimi in nepreverjenimi izjemami?
  • Kaj se zgodi za kodo int data=50/0;?
  • Zakaj uporabljati blok za več ulovov?
  • Ali obstaja kakšna možnost, ko se končni blok ne izvede?
  • Kaj je širjenje izjeme?
  • Kakšna je razlika med ključno besedo the throw in throws?
  • Katera so 4 pravila za uporabo obravnavanja izjem s preglasitvijo metode?

Hierarhija razredov Java Exception

Razred java.lang.Throwable je korenski razred hierarhije Java Exception, ki ga podedujeta dva podrazreda: Exception in Error. Hierarhija razredov Java Exception je podana spodaj:

hierarhija obravnave izjem

Vrste izjem Java

Obstajata predvsem dve vrsti izjem: označene in nepreverjene. Napaka se obravnava kot nepreverjena izjema. Vendar pa glede na Oracle obstajajo tri vrste izjem, in sicer:

  1. Preverjena izjema
  2. Nepreverjena izjema
  3. Napaka
hierarhija obravnave izjem

Razlika med označenimi in nepreverjenimi izjemami

1) Preverjena izjema

Razredi, ki neposredno podedujejo razred Throwable, razen RuntimeException in Error, so znani kot preverjene izjeme. Na primer IOException, SQLException itd. Preverjene izjeme se preverijo med prevajanjem.

2) Nepreverjena izjema

Razredi, ki podedujejo RuntimeException, so znani kot nepreverjene izjeme. Na primer ArithmeticException, NullPointerException, ArrayIndexOutOfBoundsException itd. Nepreverjene izjeme se ne preverijo v času prevajanja, vendar se preverijo med izvajanjem.

3) Napaka

Napaka je nepopravljiva. Nekateri primeri napak so OutOfMemoryError, VirtualMachineError, AssertionError itd.

Ključne besede izjeme Java

Java ponuja pet ključnih besed, ki se uporabljajo za obravnavanje izjeme. Naslednja tabela opisuje vsakega.

Ključna besedaOpis
poskusiKljučna beseda 'poskusi' se uporablja za določitev bloka, kamor naj postavimo kodo izjeme. To pomeni, da ne moremo uporabiti samo poskusnega bloka. Bloku try mora slediti catch ali finally.
ulovBlok 'catch' se uporablja za obravnavo izjeme. Pred njim mora biti poskusni blok, kar pomeni, da ne moremo uporabiti samega bloka catch. Kasneje mu lahko sledi končna blokada.
končnoBlok 'končno' se uporablja za izvajanje potrebne kode programa. Izvede se ne glede na to, ali je izjema obravnavana ali ne.
metatiKljučna beseda 'throw' se uporablja za ustvarjanje izjeme.
vržeKljučna beseda 'throws' se uporablja za razglasitev izjem. Določa, da lahko pride do izjeme v metodi. Ne predstavlja izjeme. Vedno se uporablja s podpisom metode.

Primer ravnanja z izjemami v Javi

Oglejmo si primer obravnavanja izjem Java, v katerem uporabljamo stavek try-catch za obravnavanje izjeme.

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...'); } } 
Preizkusite zdaj

Izhod:

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

V zgornjem primeru 100/0 povzroči izjemo ArithmeticException, ki jo obravnava blok try-catch.

Pogosti scenariji izjem v Javi

Podanih je nekaj scenarijev, kjer lahko pride do nepreverjenih izjem. So naslednji:

1) Scenarij, kjer se pojavi ArithmeticException

Če poljubno število delimo z nič, se pojavi ArithmeticException.

 int a=50/0;//ArithmeticException 

2) Scenarij, kjer se pojavi NullPointerException

Če imamo v kateri koli ničelno vrednost spremenljivka , izvajanje katere koli operacije na spremenljivki vrže izjemo NullPointerException.

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

3) Scenarij, kjer se pojavi NumberFormatException

Če se oblikovanje katere koli spremenljivke ali števila ne ujema, lahko povzroči NumberFormatException. Recimo, da imamo a vrvica spremenljivka, ki ima znake; pretvorba te spremenljivke v števko bo povzročila NumberFormatException.

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

4) Scenarij, kjer se pojavi ArrayIndexOutOfBoundsException

Ko matrika preseže svojo velikost, pride do izjeme ArrayIndexOutOfBoundsException. lahko obstajajo drugi razlogi za pojav ArrayIndexOutOfBoundsException. Razmislite o naslednjih izjavah.

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

Indeks izjem Java

  1. Java Try-Catch Block
  2. Java Multiple Catch Block
  3. Java Nested Poskus
  4. Java končno blokira
  5. Java vrzi ključno besedo
  6. Širjenje izjem Java
  7. Java vrže ključno besedo
  8. Java Throw proti Throws
  9. Java Final proti Finally proti Finalize
  10. Obravnava izjem Java s preglasitvijo metode
  11. Izjeme po meri Java