Блок Finally
Свайпніть щоб показати меню
Блок finally у Java є важливою частиною обробки виключень, яка гарантує виконання певного коду незалежно від того, що відбувається у блоках try або catch.
Зазвичай блок finally використовують для таких завдань, як очищення ресурсів — закриття файлів, звільнення мережевих з'єднань або пам'яті — щоб ваша програма залишалася надійною та ефективною навіть у разі виникнення помилок.
try {
// code
} catch {
// code
} finally {
// code
}
Виконання блоку finally є особливим, оскільки він виконується щоразу після завершення відповідного оператора try, незалежно від того, чи була викликана виняткова ситуація. Якщо у блоці try виникає виняток і він обробляється блоком catch, блок finally виконується після завершення catch. Якщо виняток не виникає, блок finally все одно виконується після блоку try. Навіть якщо у коді блоку try або catch є оператор return, блок finally виконається перед тим, як метод поверне керування викликаючому коду. Така поведінка робить блок finally надійним місцем для дій, які мають виконуватися завжди, наприклад, закриття файлів або звільнення інших ресурсів.
Main.java
12345678910111213141516171819202122package com.example; public class Main { public static void main(String[] args) { String[] numbers = {"10", "20", "not-a-number", "40"}; int index = 2; int result = 0; try { System.out.println("Attempting to parse value..."); result = Integer.parseInt(numbers[index]); System.out.println("Parsed value: " + result); } catch (NumberFormatException e) { System.out.println("Parsing failed: " + e.getMessage()); } finally { // This block always executes System.out.println("The 'finally' block has executed — cleanup or final steps go here."); } System.out.println("Program continues..."); } }
Блок finally у Java — це спеціальний блок, який завжди виконується після блоку try, незалежно від того, чи була викликана або оброблена виняткова ситуація. Його використовують для гарантування виконання важливих фінальних дій, таких як закриття ресурсів або очищення.
У наведеному вище прикладі програма намагається розібрати значення з масиву. Навіть якщо розбір не вдається і виконується блок catch, блок finally все одно спрацьовує, гарантуючи, що фінальне повідомлення буде виведено, а необхідне очищення виконано. Це підвищує надійність програми та запобігає витоку ресурсів.
Дякуємо за ваш відгук!
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат