Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Блок Finally | Розділ
Обробка Виключень у Java

bookБлок Finally

Свайпніть щоб показати меню

Note
Визначення

Блок 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

Main.java

copy
12345678910111213141516171819202122
package 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 все одно спрацьовує, гарантуючи, що фінальне повідомлення буде виведено, а необхідне очищення виконано. Це підвищує надійність програми та запобігає витоку ресурсів.

question mark

Що гарантується щодо коду, розміщеного у блоці finally в Java?

Select the correct answer

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 1. Розділ 6

Запитати АІ

expand

Запитати АІ

ChatGPT

Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат

Секція 1. Розділ 6
some-alt