Junior
Как работи конструкцията try-catch в Java?
sobes.tech AI
Отговор от AI
Конструкцията try-catch се използва за обработка на изключения, които са събития, нарушаващи нормалния поток на изпълнение на програмата.
- try: Блок от код, в който потенциално може да възникне изключение. Ако в блока
tryвъзникне изключение, изпълнението на този блок се прекъсва. - catch: Блок от код, който се изпълнява, ако в съответния
tryблок възникне изключение от определен тип (посочен в скобите следcatch). Java търси подходящ блокcatchза обработка на изключението. Ако намери такъв, кодът в този блок се изпълнява. - finally (по желание): Блок от код, който се изпълнява гарантирано след try-catch блоковете, независимо дали е възникнало изключение или не, или е било хванато. Използва се за почистване на ресурси (затваряне на файлове, връзки и т.н.).
public class ExceptionHandlingExample {
public static void main(String[] args) {
try {
// Код, който може да предизвика изключение
int result = 10 / 0; // ArithmeticException
System.out.println("Тази линия няма да бъде изпълнена, ако възникне изключение.");
} catch (ArithmeticException e) {
// Обработка на конкретен тип изключение
System.err.println("Възникна аритметична грешка: " + e.getMessage());
} catch (Exception e) {
// Общ хващане за всички други изключения
System.err.println("Възникна неизвестна грешка: " + e.getMessage());
} finally {
// Код, който винаги се изпълнява
System.out.println("Finally блокът е изпълнен.");
}
System.out.println("Програмата продължава след try-catch.");
}
}
Сравнение между try-catch и throws:
| Характеристика | try-catch | throws |
|---|---|---|
| Цел | Обработка на изключения | Делегиране на отговорност |
| Местоположение | Блок от код | Подпис на метода |
| Действие | Хваща и обработва изключението | Посочва възможността за изхвърляне |