Sobes.tech
Junior — Middle
96

İstisna yönetimi ve kaynak yönetiminde try-catch ve try-with-resources yapılarının farkı nedir?

AI'dan gelen yanıt

sobes.tech yapay zeka

Конструкция try-catch используется для обработки исключений: в блоке try выполняется код, который может выбросить исключение, а в блоке catch — обработка этого исключения.

try-with-resources (добавлен в Java 7) — это специальный вариант try, который автоматически управляет ресурсами, реализующими интерфейс AutoCloseable (например, потоки, файлы, соединения с базой). Ресурсы объявляются в скобках после try, и после завершения блока они автоматически закрываются, даже если возникло исключение.

Пример:

try (BufferedReader br = new BufferedReader(new FileReader("file.txt"))) {
    String line = br.readLine();
    System.out.println(line);
} catch (IOException e) {
    e.printStackTrace();
}

Здесь BufferedReader автоматически закроется после выполнения блока, что избавляет от необходимости писать finally с вызовом close().

Итого:

  • try-catch — для обработки исключений.
  • try-with-resources — для автоматического закрытия ресурсов и обработки исключений.