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.


É 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.



ree


🟣 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.

ree

🟣 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.

ree


Podemos utilizar:


  • try + except

  • try + except + else

  • try + except + finally

  • try + except + else + finally



ree



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



ree




▫ except ZeroDivisionError

Ocorre quando tentamos dividir um número por zero.

ree



 except ValueError

Ocorre quando tentamos dividir um número por zero.

ree




 except TypeError

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

ree




 except FileNotFoundError

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

ree




 except IndexError

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

ree





 except KeyError

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

ree




 except AttributeError

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

ree




 except ImportError

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

ree





 except IndentationError

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

ree




 except NameError

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

ree





 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.

ree





 except StopIteration

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

ree






 except OverflowError

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

ree





 except MemoryError

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

ree





 except SyntaxError

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

ree






 except UnicodeEncodeError / UnicodeDecodeError

Erro ao tentar codificar ou decodificar caracteres Unicode.

ree





 except EOFError

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

ree





 except AssertionError

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

ree






 except KeyboardInterrupt

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

ree





 except Exception

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


ree




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

ree

Fazendo try e except dentro de um if

ree

Fazendo try e except dentro de um for

ree

Fazendo try e except dentro de um while

ree

ree

© 2017-2025  Criado e desenvolvido por Amanda Nascimento

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