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 blocultrycorespunzător. Java caută un bloccatchpotrivit 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 |