You are on page 1of 2

Izuzeci (Exceptions) u programiranju označavaju situacije u kojima određeni program ili neki njegov deo

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.

O izuzecima možete pročitati na nekom od linkova:


1) https://www.geeksforgeeks.org/types-of-exception-in-java-with-examples/
:
2) https://crunchify.com/better-understanding-on-checked-vs-unchecked-exceptions-how-to-
handle-exception-better-way-in-java/
3) https://www.w3schools.com/java/java_try_catch.asp
4) https://beginnersbook.com/2013/04/try-catch-in-java/

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:

public class LearningAboutExceptions {


public static void main(String[] args) {

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:

Exception in thread "main" java.lang.ArithmeticException: / by zero


at LearningAboutExceptions.main(LearningAboutExceptions.java:7)

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

System.out.println("Tekst posle try catch bloka");

Izlaz programa će biti:

You might also like