Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda Captura e Tratamento de Exceções | Tratamento de Erros Abrangente
Programação Estrutural em Python

Captura e Tratamento de Exceções

Deslize para mostrar o menu

Ao trabalhar com operações de arquivos ou outros códigos que podem encontrar erros, o tratamento estruturado de erros do Python usando os blocos try, except, else e finally é essencial para escrever programas resilientes. O bloco try contém o código que pode gerar uma exceção. Se uma exceção ocorrer, o bloco except é executado, permitindo lidar com o erro de forma adequada. Se nenhuma exceção for gerada, o bloco else é executado, sendo um bom local para código que deve rodar apenas quando tudo no bloco try for bem-sucedido. O bloco finally sempre é executado, independentemente de uma exceção ter ocorrido ou não, sendo ideal para ações de limpeza, como fechar arquivos ou liberar recursos. Como mostrado no vídeo, essa estrutura ajuda a separar a lógica normal, o tratamento de erros e a limpeza, resultando em um código mais claro e seguro.

Blocos de Tratamento de Erros em Python

  • O bloco try contém o código que pode gerar uma exceção;
  • O bloco except captura e trata exceções caso ocorram;
  • O bloco else é executado apenas se nenhuma exceção for gerada no bloco try;
  • O bloco finally sempre é executado, independentemente de uma exceção ter ocorrido ou não.
123456789101112131415
filename = "example.txt" try: file = open(filename, "w") file.write("Hello, Python error handling!") except OSError as e: print("An error occurred while writing to the file:", e) else: print("File written successfully.") finally: try: file.close() print("File closed.") except Exception: print("File was never opened or already closed.")

Essa estrutura permite separar a lógica normal, o tratamento de erros e as tarefas de limpeza. Use try para código de risco, except para gerenciar erros, else para conclusões bem-sucedidas e finally para ações que sempre devem ser executadas, como fechar arquivos ou liberar recursos.

question mark

Qual afirmação melhor descreve a ordem de execução dos blocos else e finally em uma estrutura try, except, else, finally?

Selecione a resposta correta

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 1. Capítulo 2

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 2
some-alt