Sobes.tech
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
Цел Обработка на изключения Делегиране на отговорност
Местоположение Блок от код Подпис на метода
Действие Хваща и обработва изключението Посочва възможността за изхвърляне