Entenda o Uso do Finally no Tratamento de Exceções em Python

Saiba como usar o bloco finally no tratamento de exceções em Python para assegurar a execução de código importante, independentemente de erros.

Como usar finally no tratamento de exceções em Python

O bloco finally em Python é utilizado dentro do tratamento de exceções para garantir que um determinado trecho de código seja executado, independentemente de a exceção ter ocorrido ou não.

Estrutura do try, except e finally

try:  
    arquivo = open("dados.txt", "r")  
    conteudo = arquivo.read()  
    print(conteudo)  
except FileNotFoundError:  
    print("Erro: Arquivo não encontrado.")  
finally:  
    print("Encerrando execução.")  

Nesse exemplo, mesmo que ocorra um erro ao tentar abrir o arquivo, a mensagem do bloco finally será exibida.

Garantindo o fechamento de recursos

O finally é comumente utilizado para fechar arquivos, liberar conexões com bancos de dados e outros processos críticos:

try:  
    conexao = conectar_banco()  
    executar_query(conexao, "SELECT * FROM usuarios")  
except Exception as e:  
    print(f"Erro ao acessar o banco de dados: {e}")  
finally:  
    conexao.close()  
    print("Conexão encerrada.")  

O bloco finally é essencial para garantir que recursos sejam liberados corretamente, independentemente do sucesso ou falha na execução do código. Ele previne problemas como vazamento de memória e conexões não encerradas, tornando o programa mais confiável e eficiente.

Algumas aplicações:

  • Fechamento de arquivos abertos após leitura ou escrita.
  • Encerramento de conexões com bancos de dados.
  • Liberação de recursos alocados em memória.
  • Execução de comandos críticos que não podem ser ignorados.

Dicas para quem está começando

  • Utilize finally sempre que precisar garantir a liberação de recursos.
  • Evite colocar código desnecessário dentro do finally.
  • Use try, except e finally juntos para um tratamento de exceções mais robusto.
  • Teste seu código com e sem erros para entender o comportamento do finally.
  • Se um erro ocorrer dentro do finally, ele pode sobrescrever a exceção original, então tenha cuidado ao manipular exceções dentro do bloco.
Foto de Laura Mendes
Contribuições de
Laura Mendes

Especialista em automação de processos com Python e integração de sistemas.

Mais sobre o autor
Compartilhe este tutorial: Como usar finally no tratamento de exceções em Python

Compartilhe este tutorial

Continue aprendendo:

Como tratar exceções com try e except em Python

Saiba como utilizar try e except em Python para lidar com exceções e tornar seu código mais robusto e seguro.

Tutorial anterior

Como abrir e ler um arquivo em Python

Saiba como abrir e ler arquivos em Python utilizando diferentes modos de leitura para facilitar a manipulação de dados.

Próximo tutorial