top of page

try except (tratar e controlar erros)

Foto do escritor: Amanda Nascimento
Amanda Nascimento
17 de nov. de 2024
3 min de leitura

Atualizado: 12 de mai. de 2025


É muito importante a organização do código para tratar erros e exceções. O try e except são utilizados em Python para tratar erros (exceções) que podem acontecer durante a execução do programa, sem que ele precise parar completamente. Com try, você “tenta” executar um bloco de código, e se houver um erro, o except “trata” o erro e permite que o programa continue de maneira controlada.





🟣 try (Tentar): Primeiro, você tenta fazer algo, como uma mágica ou resolver um problema. Aqui, você quer que tudo dê certo.

🟣 except (Lidar com Problemas): Mas você sabe que, às vezes, as coisas não saem como o planejado. Então, se der errado (por exemplo, se você tentar transformar uma palavra em número e isso não funcionar), você tem um plano para lidar com esse problema. Esse é o except.

🟣 else (Comemorar o Sucesso): Agora vem a parte do else. O else é como a festa de "deu certo!". Ele só acontece se tudo correu bem no try e não precisou passar pelo except. Se deu tudo certo no try, então você pode fazer algo extra no else, como comemorar, mostrar uma mensagem legal, ou continuar para o próximo passo.

🟣 finally (Arrumar Tudo no Fim): Por fim, o finally é como arrumar tudo antes de ir embora. Não importa se o try deu certo ou se o except foi usado, o finally sempre vai ser executado. É a parte onde você arruma a sala, guarda os brinquedos, ou faz qualquer coisa necessária para terminar bem.



Podemos utilizar:


  • try + except

  • try + except + else

  • try + except + finally

  • try + except + else + finally






Except


Dentro do except é possível fazer praticamente qualquer coisa que faria em outros blocos do código, como:

  • Chamar uma função para executar uma tarefa ou tratamento específico.

  • Usar um if para tomar decisões baseadas nas informações do erro.

  • Tratar diferentes tipos de exceções (por exemplo, ValueError, TypeError, etc.).

  • Registrar logs para manter um histórico dos erros.

  • Exibir mensagens personalizadas para o usuário.

  • Levantar (re-lançar) a exceção para tratamento posterior.

  • Executar um finally, que sempre roda, independente do try ou except







▫ except ZeroDivisionError

Ocorre quando tentamos dividir um número por zero.



▫  except ValueError

Ocorre quando tentamos dividir um número por zero.





▫  except TypeError

Ocorre ao tentar realizar operações com tipos de dados incompatíveis (exemplo: somar uma string e um número).





▫  except FileNotFoundError

Ocorre quando tentamos abrir um arquivo que não existe.





▫  except IndexError

Ocorre ao tentar acessar um índice inexistente em uma lista ou sequência.






▫  except KeyError

Ocorre ao tentar acessar uma chave que não existe em um dicionário.





▫  except AttributeError

Aparece quando tentamos acessar um atributo que não existe em um objeto.





▫  except ImportError

Ocorre quando tentamos importar um módulo que não existe.






▫  except IndentationError

Erro de indentação incorreta no código. Este erro é geralmente identificado durante a escrita, pois impede a execução do programa.





▫  except NameError

Ocorre quando tentamos usar uma variável que não foi definida.






▫  except RuntimeError

Erro genérico que pode ser usado para erros que ocorrem em tempo de execução, não necessariamente relacionados a tipos ou valores específicos.






▫  except StopIteration

Ocorre quando uma iteração atinge o fim sem elementos restantes.







▫  except OverflowError

Erro que acontece quando um número excede o limite de representação (em operações com números muito grandes).






▫  except MemoryError

Aparece ao tentar alocar mais memória do que o sistema pode fornecer.






▫  except SyntaxError

Aparece ao tentar alocar mais memória do que o sistema pode fornecer.







▫  except UnicodeEncodeError / UnicodeDecodeError

Erro ao tentar codificar ou decodificar caracteres Unicode.






▫  except EOFError

Ocorre ao tentar ler dados além do fim de um arquivo ou entrada.






▫  except AssertionError

É lançado quando uma asserção assert falha.







▫  except KeyboardInterrupt

Ocorre quando o usuário interrompe a execução (por exemplo, pressionando Ctrl+C no terminal).






▫  except Exception

Se você não souber o tipo exato de exceção que pode ocorrer, pode capturar todas as exceções com Exception





Obs: É uma prática recomendada capturar exceções específicas sempre que possível, pois isso torna o código mais claro e preciso no tratamento de erros.




Fazendo um if dentro de um except


Fazendo try e except dentro de um if


Fazendo try e except dentro de um for


Fazendo try e except dentro de um while



© 2017-2026  Criado e desenvolvido por Amanda Nascimento

  • Discord
  • GitHub
  • youtube
  • LinkedIn Amanda
bottom of page