Junior
Kako funkcioniše konstrukcija try-catch u Javi?
sobes.tech АИ
Одговор од АИ
Konstrukcija try-catch koristi se za obradu izuzetaka, događaja koji narušavaju normalan tok izvršavanja programa.
- try: Blok koda u kojem potencijalno može doći do izuzetka. Ako se unutar
trybloka dogodi izuzetak, izvršavanje tog bloka se prekida. - catch: Blok koda koji se izvršava ako dođe do izuzetka određenog tipa (navedenog u zagradama nakon
catch) u odgovarajućemtrybloku. Java traži odgovarajućicatchblok za obradu izuzetka. Ako ga pronađe, kod u tom bloku se izvršava. - finally (opciono): Blok koda koji se garantovano izvršava nakon try-catch blokova, bez obzira da li je došlo do izuzetka ili ne, ili je li on uhvaćen. Koristi se za čišćenje resursa (zatvaranje fajlova, konekcija itd.).
public class ExceptionHandlingExample {
public static void main(String[] args) {
try {
// Kod koji može izazvati izuzetak
int result = 10 / 0; // ArithmeticException
System.out.println("Ova linija neće biti izvršena ako dođe do izuzetka.");
} catch (ArithmeticException e) {
// Obrada specifičnog tipa izuzetka
System.err.println("Došlo je do aritmetičke greške: " + e.getMessage());
} catch (Exception e) {
// Opšte hvatanje za sve ostale izuzetke
System.err.println("Došlo je do nepoznate greške: " + e.getMessage());
} finally {
// Kod koji se uvek izvršava
System.out.println("Finally blok je izvršen.");
}
System.out.println("Program se nastavlja nakon try-catch.");
}
}
Uporedba između try-catch i throws:
| Osobina | try-catch | throws |
|---|---|---|
| Svrha | Obrada izuzetaka | Delegiranje odgovornosti |
| Mesto | Blok koda | Potpis metode |
| Akcija | Hvatanje i obrada izuzetka | Ukazuje na mogućnost bacanja |