top of page
Foto do escritorAmanda Nascimento

try except (tratar e controlar erros)

Atualizado: 14 de dez.


É 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



bottom of page