Sobes.tech
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 try bloka 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ćem try bloku. Java traži odgovarajući catch blok 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