Sobes.tech
Junior

Cum funcționează construcția try-catch în Java?

sobes.tech AI

Răspuns de la AI

Construcția try-catch este utilizată pentru tratarea excepțiilor, adică evenimente care întrerup fluxul normal de execuție al programului.

  • try: Bloc de cod în care poate apărea potențial o excepție. Dacă apare o excepție în interiorul blocului try, execuția acestuia este întreruptă.
  • catch: Bloc de cod care se execută dacă apare o excepție de un anumit tip (indicat între paranteze după catch) în blocul try corespunzător. Java caută un bloc catch potrivit pentru a trata excepția. Dacă găsește unul, codul din acest bloc se execută.
  • finally (opțional): Bloc de cod care se execută garantat după blocurile try-catch, indiferent dacă a apărut o excepție sau nu, sau dacă a fost capturată. Este folosit pentru a elibera resurse (închide fișiere, conexiuni etc.).
public class ExceptionHandlingExample {

    public static void main(String[] args) {
        try {
            // Cod care poate arunca o excepție
            int result = 10 / 0; // ArithmeticException
            System.out.println("Această linie nu va fi executată dacă apare o excepție.");
        } catch (ArithmeticException e) {
            // Tratarea tipului specific de excepție
            System.err.println("A apărut o eroare aritmetică: " + e.getMessage());
        } catch (Exception e) {
            // Captură generică pentru orice alt tip de excepție
            System.err.println("A apărut o eroare necunoscută: " + e.getMessage());
        } finally {
            // Cod care se execută întotdeauna
            System.out.println("Blocul finally a fost executat.");
        }

        System.out.println("Programul continuă după try-catch.");
    }
}

Compararea try-catch și throws:

Caracteristică try-catch throws
Scop Tratarea excepției Delegarea responsabilității
Locul Bloc de cod Semnătura metodei
Acțiunea Prinde și tratează excepția Indică posibilitatea de a arunca