
Lovljenje
izjem - try, catch in finally
 |
Java
omogoča, da izjeme ulovimo. |
 |
Če
mislimo, da lahko v določenem delu kode pride do izjeme, jo postavimo v
blok try-catch. |
class test {
public static void main(String argv[ ]) {
int x=6; int y=3;
try { // Začetek bloka
for (int j=1;j<=10;j++) {
x=x*j/y;
y=y-1;
}
System.out.println("Rezultat je: " + y);
}
catch (Exception e) { // Ujamemo izjemo
System.out.println("Prislo je do napake!");
}
}
}
Oglejmo si podobni primer in kaj je ta napisal v konzolno okno
 |
Če
poznamo tipe izjem, ki se lahko zgodijo, lahko po bloku try
postavimo več catch blokov: |
try {
for (int j=1;j<=10;j++) {
x=x*j/y;
y=y-1;
}
System.out.println("Rezultat je: " + y);
}
catch (java.lang.ArithmeticException e) { // Ujamemo aritm. izjemo
System.out.println("Prislo je do aritmetične napake!");
}
catch (Exception e) { // Ujamemo ostale izjeme
System.out.println("Prislo je do neke napake!");
}
 |
Po bloku catch lahko postavimo tudi blok
finally,
ki se bo izvršil v vsakem primeru, ne glede na to ali je do izjeme prišlo
ali ne. Izvedel se bo tudi, če pride do izjeme v bloku catch!!!
|
try {
for (int j=1;j<=10;j++) {
x=x*j/y;
y=y-1;
}
System.out.println("Rezultat je: " + y);
}
catch (Exception e) {
System.out.println("Prislo je do aritmetične napake!");
y=1/0;
}
finally { // izvede se, ceprav je v catch prišlo do izjeme!
System.out.println("To se izvede v vsakem primeru");
}
