Guia rápido e visual para lidar com erros em Python de forma clara e segura.
💡 Conceito:
Uma exceção é um erro que acontece durante a execução do programa.
Tratar exceções significa dizer ao Python como reagir sem interromper o fluxo do programa.
Sem tratamento, até um erro simples pode parar o programa.
Com exceções, podemos controlar o fluxo e responder de forma adequada.
Situação | Problema sem tratamento | Solução com exceção |
---|---|---|
Entrada inválida | Usuário digita texto ao invés de número | Mostrar mensagem e pedir valor novamente |
Arquivo corrompido | Programa trava ao abrir arquivo | Ignorar arquivo ou registrar erro e continuar |
Sistema crítico | Qualquer erro derruba todo o sistema | Captura genérica e mantém o sistema ativo |
try:
# Código que pode falhar
except TipoDoErro:
# Ação caso o erro aconteça
else:
# Executa se não houver erro
finally:
# Sempre executa, independente de erro
Bloco | Função |
---|---|
try |
Onde colocamos o código que pode gerar erro |
except |
Onde tratamos erros específicos ou gerais |
else |
Executa apenas se nenhum erro ocorrer |
finally |
Executa sempre, com ou sem erro |
📌 Prefira capturar erros específicos (ValueError, ZeroDivisionError) em vez de Exception genérico
📌 Use raise para lançar erros intencionais quando necessário
📌 Crie exceções personalizadas para deixar o código mais claro e legível
try:
numero = int(input("Digite um número: "))
resultado = 10 / numero
except ValueError:
print("Erro: digite um número inteiro!")
except ZeroDivisionError:
print("Erro: divisão por zero não é permitida!")
else:
print(f"Resultado: {resultado}")
finally:
print("Fim do programa.")
-
Entrada inválida (ValueError)
-
Divisão por zero (ZeroDivisionError)
-
Garantia de mensagem final (finally)
Conceito | Descrição |
---|---|
Exceção | Erro que ocorre durante a execução |
try |
Código que pode falhar |
except |
Como reagir ao erro |
else |
Executa se tudo correr bem |
finally |
Sempre executa, erro ou não |