Professional Documents
Culture Documents
Generisanje Izuzetaka U Javi
Generisanje Izuzetaka U Javi
ne može nastaviti svoj normalan rad zbog određenih problema. Problemi obično potiču od loših
parametara koje zadaje korisnik, nemogućnosti povezivanja sa određenim resursom, sistemskih kvarova
itd.
1) Primer koda u kome dolazimo do situacije generisanja izuzetka tipa (klasi kojoj pripada)
ArithmeticException jer smo u redu int c=a/b pokušali deljenje sa nulom. Usled generisanja
izuzetka program prekida rad i izbacuje poruku o izuzetku:
int a=5;
int b=0;
int c=a/b;
System.out.println("Tekst poslje deljenja koji se neće ispisati na
ekran");
Kada pokrenemo ovaj program, runtime okruženje dolazi do reda int c=a/b,
generiše izuzetak i prekida rad sa porukom:
2) Sada ćemo ovaj isti kod uokviriti sa try catch blokom. Nakon ključne reči try slede naredbe,
uokvirene vitičastim zagradama, u okviru kojih je moguća situacija pri kojoj će se generisati
izuzetak.
Nakon ključne reči catch definišemo tip izuzetka koji očekujemo, a zatim blok naredbi koji se u
tom slučaju izvršava. U ovom slučaju definišemo da ćemo uhvatiti izuzetak tipa
ArithmeticException i u tom slučaju će se štampati poruka na ekran “Deljenje sa nulom je
zabranjeno”.
Izuzetak tipa ArithmeticException se generiše kod reda int c=a/b , ali program sada ne prekida
rad, već preskače ostatak try bloka i prelazi u catch blok gde se hvata izuzetak i izvršava
naredba koja štampa poruku o grešci “Deljenje sa nulom je zabranjeno”.
Program zatim izlazi iz catch bloka i nastavlja da izvršava dalji tok programa, u ovom slučaju
štampanje poruke “Tekst posle try catch bloka”.
public class LearningAboutExceptions {
public static void main(String[] args) {
try {
int a=5;
int b=0;
int c=a/b;
System.out.println("Ovaj tekst se nece ispisati na ekran");
} catch(ArithmeticException e) {
System.out.println("Deljenje sa nulom je zabranjeno");
}