Professional Documents
Culture Documents
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");
}