Se você já gastou um dia programando com Python, vai saber que lidando com erros é parte da vida de um programador. Mas vamos ser sinceros, é chato não é? Nesse post vamos falar de erros em geral, e como tratar esses erros com exceções em Python.
Antes de mais nada, quero esclarecer uma coisa. Encarar erros quando programando é a coisa mais normal que tem. Não se assuste quando tiver que trabalhar um dia inteiro tentando consertar um erro. Já fiz isso muitas vezes.
Mas, isso acontece quando o Python encontra uma exceção – um problema que interrompe o fluxo normal do código.
Neste post, você vai aprender:- O que são exceções em Python.- Como usar try e except para evitar que seu programa quebre.- Exemplos práticos para lidar com erros comuns.
O Que São Exceções em Python?
Exceções são erros que acontecem durante a execução de um programa. É uma maneira do Python perguntar "O que?" quando não entende alguma coisa.
Elas interrompem o código se não forem tratadas.
Exemplo de um Erro Comum
Digamos que você peça um número ao usuário e tente dividir por ele:
numero = int(input("Digite um número: "))
print(10 / numero)
Se o usuário digitar 0, o Python retorna algo assim:

E se digitar "abc" em vez de um número?
Resultado: Seu programa cai, e para de funcionar. Mas podemos evitar isso com tratamento de exceções!

Como Tratar Exceções com try e except
A estrutura básica é:
try:
codigo_perigoso()
except:
print("Ops! Algo deu errado")

Exemplo Prático
Vamos usar algo mais prático. Se pedirmos para o usuário colocar um número, e o mesmo colocar uma letra, como poderemos agir para evitar isso? De mesma forma, e se o usuário colocar um zero?
A solução é criar duas excessões. Assim:
try:
numero = int(input("Digite um número: "))
print(10 / numero)
except ZeroDivisionError: # se o usúario colocar 0
print("Erro: Não dá pra dividir por zero!")
except ValueError: # se o usúario não usar números
print("Erro: Digite um número válido!")
Agora, se o usuário digitar 0 ou "abc", o programa não quebra – ele exibe uma mensagem amigável!
Tratando Múltiplos Erros de Uma Vez
Você pode capturar vários erros em um único except:
try:
numero = int(input("Digite um número: "))
print(10 / numero)
except (ZeroDivisionError, ValueError):
print("Ops! Algo deu errado. Verifique o número digitado.")
else e finally – Complementando o Tratamento
- else: Executa se nenhum erro ocorrer.
- finally: Executa sempre, independente de erro.
try:
numero = int(input("Digite um número: "))
resultado = 10 / numero
except ZeroDivisionError:
print("Erro: Divisão por zero!")
except ValueError:
print("Erro: Número inválido!")
else:
print(f"Resultado: {resultado}") # Só roda se não der erro
finally:
print("Fim do programa!") # Roda sempre
Erros Comuns e Como Tratá-los
Esses erros mostrados aqui vão sempre com o except.
Dica Extra: Levantando Suas Próprias Exceções (raise)
Às vezes, você quer forçar um erro se algo der errado. Use raise:
idade = int(input("Digite sua idade: "))
if idade < 0:
raise ValueError("Idade não pode ser negativa!")
else:
print(f"Sua idade é {idade}")
Conclusão
Agora você sabe como evitar que seus programas quebrem com tratamento de exceções!
Resumo rápido:✔ Use try e except para capturar erros.✔ Trate erros específicos (ZeroDivisionError, ValueError, etc.).✔ Use else para código que só roda se não houver erro.✔ Use finally para ações que devem rodar sempre.
Espero que este post tenha ajudado! Se tiver dúvidas, comente abaixo. 👇
Comentários (0)
Seja o primeiro a comentar!
Deixe um comentário