Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda O Bloco Finally | Seção
Practice
Projects
Quizzes & Challenges
Questionários
Challenges
/
Tratamento de Exceções em Java

bookO Bloco Finally

Deslize para mostrar o menu

Note
Definição

O bloco finally em Java é uma parte crucial do tratamento de exceções que garante que determinado código sempre será executado, independentemente do que acontecer nos blocos try ou catch.

O bloco finally é normalmente utilizado para tarefas como limpeza de recursos—fechamento de arquivos, liberação de conexões de rede ou liberação de memória—para que sua aplicação permaneça robusta e eficiente mesmo quando ocorrem erros.

try {
    // code
} catch {
    // code
} finally {
    // code
}

A execução do bloco finally é especial porque ele é executado sempre que a instrução try associada é concluída, independentemente de uma exceção ser lançada ou não. Se uma exceção ocorrer no bloco try e for capturada por um bloco catch, o bloco finally será executado após a finalização do catch. Se nenhuma exceção for lançada, o bloco finally ainda será executado após o bloco try. Mesmo que o código nos blocos try ou catch contenha uma instrução return, o bloco finally será executado antes que o método retorne o controle ao chamador. Esse comportamento torna o bloco finally um local confiável para ações que sempre devem ocorrer, como fechar arquivos ou liberar outros recursos.

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..."); } }

O bloco finally em Java é um bloco especial que sempre é executado após um bloco try, independentemente de uma exceção ter sido lançada ou capturada. Ele é utilizado para garantir que ações finais importantes, como o fechamento de recursos ou a realização de limpeza, sejam sempre executadas.

No exemplo acima, o programa tenta analisar um valor de um array. Mesmo que a análise falhe e o bloco catch seja executado, o bloco finally ainda será executado, garantindo que a mensagem final seja impressa e que qualquer limpeza necessária ocorra. Isso torna o programa mais confiável e previne vazamentos de recursos.

question mark

O que é garantido sobre o código colocado dentro de um bloco finally em Java?

Select the correct answer

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 1. Capítulo 6

Pergunte à IA

expand

Pergunte à IA

ChatGPT

Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo

Seção 1. Capítulo 6
some-alt