Como Usar o Try Except (Tratamento de Erros) em Python

Tempo de leitura: 6 minutos
logotipo do Python em azul e amarelo ao lado das palavras 'try except' em fonte amarela sobre um fundo azul-texturizado

Ao programar em Python, é comum encontrar erros durante a execução do código. Às vezes, eles acontecem por motivos simples, como digitar algo errado, e outras vezes por situações imprevisíveis, como tentar abrir um arquivo que não existe.
É aí que entra o try except, um dos recursos mais importantes da linguagem quando o assunto é tratamento de erros.

Neste artigo, você vai entender o que é o try except, como ele funciona, e verá exemplos práticos para aplicar no seu próprio código. Tudo de forma simples, direta e sem jargões técnicos.


O que é o Try Except em Python

O try except é uma estrutura usada para lidar com erros (ou exceções) durante a execução de um programa.
Ele permite que o Python tente executar um trecho de código (try) e, caso ocorra um erro, trate esse erro de forma controlada (except).

Sem o try except, o programa para de funcionar assim que encontra um erro.
Com ele, o programa continua rodando, mesmo quando algo dá errado.

Exemplo simples:

Python

try:
    numero = int(input("Digite um número: "))
    print(f"O número digitado foi {numero}")
except:
    print("Você não digitou um número válido.")
Pronto para executar

Nesse exemplo, se o usuário digitar algo que não é um número, o programa não quebra.
Em vez disso, mostra uma mensagem amigável ao usuário.


Como funciona o Try Except passo a passo

O Python segue uma sequência lógica ao usar o try except:

  1. Executa o bloco dentro do try:
    Se não houver erro, o código continua normalmente.
  2. Se ocorrer um erro, pula o restante do try:
    O Python vai direto para o bloco except.
  3. Executa o bloco except:
    Aqui você define o que fazer quando o erro acontece.

Esse controle evita que o programa feche de forma inesperada, tornando o código mais profissional e confiável.


Tratando tipos específicos de erros

Nem todo erro é igual.
Python possui diferentes tipos de exceções, como ValueError, ZeroDivisionError, FileNotFoundError e várias outras.

Você pode tratar cada tipo de erro separadamente para ter mensagens mais específicas:

Python

try:
    x = int(input("Digite o numerador: "))
    y = int(input("Digite o denominador: "))
    resultado = x / y
    print("Resultado:", resultado)
except ZeroDivisionError:
    print("Erro: não é possível dividir por zero.")
except ValueError:
    print("Erro: digite apenas números inteiros.")
Pronto para executar

Dessa forma, o usuário entende exatamente o que deu errado.


O uso do else e finally

Além do try e except, a estrutura pode incluir dois blocos opcionais: else e finally.

1. else: executa se nenhum erro ocorrer

Python

try:
    numero = int(input("Digite um número positivo: "))
except ValueError:
    print("Erro: valor inválido.")
else:
    print("Tudo certo, número aceito!")
Pronto para executar

2. finally: executa sempre, mesmo com erro

Python
try:
    arquivo = open("dados.txt")
    print("Arquivo aberto com sucesso!")
except FileNotFoundError:
    print("Erro: arquivo não encontrado.")
finally:
    print("Fim da execução.")

O finally é muito útil para fechar conexões, arquivos ou liberar recursos do sistema.


Por que usar o Try Except?

Alguns motivos tornam o try except indispensável:

  • Evita travamentos: o programa continua mesmo com erros.
  • Melhora a experiência do usuário: mensagens claras em vez de erros técnicos.
  • Facilita a depuração: ajuda a identificar onde o erro ocorreu.
  • Torna o código mais robusto: útil em automações, sistemas web e scripts complexos.

Sem tratamento de erros, qualquer falha simples pode derrubar o sistema.


Dicas práticas para usar Try Except corretamente

  • Evite except: genérico, ele captura qualquer erro, o que pode esconder problemas sérios.
    Prefira capturar tipos específicos (ValueError, TypeError, etc.).
  • Use mensagens informativas:
    Explique o que deu errado de forma compreensível para o usuário.
  • Combine com logs:
    Em sistemas maiores, use logging para registrar erros sem mostrar ao usuário.
  • Nunca abuse:
    Try except não deve substituir boas validações de entrada.

Exemplo prático: programa de divisão segura

Python

def dividir(a, b):
    try:
        resultado = a / b
    except ZeroDivisionError:
        return "Erro: divisão por zero!"
    except TypeError:
        return "Erro: use apenas números."
    else:
        return f"Resultado: {resultado:.2f}"
    finally:
        print("Operação finalizada.")

print(dividir(10, 2))
print(dividir(10, 0))
print(dividir("dez", 2))
Pronto para executar

Saída:

Resultado: 5.00
Operação finalizada.
Erro: divisão por zero!
Operação finalizada.
Erro: use apenas números.
Operação finalizada.

Observe como o finally é executado em todas as chamadas, mesmo quando há erro.


Aplicações reais do Try Except

O tratamento de erros é usado em praticamente todos os projetos Python.
Veja alguns exemplos do mundo real:

  • Ao lidar com arquivos: verificar se um arquivo existe antes de abri-lo.
  • Em conexões com internet: tratar erros de rede ou tempo de resposta.
  • Em automações: continuar a execução mesmo que um item falhe.
  • Em APIs: lidar com respostas inválidas sem parar o sistema.

Conclusão

Usar o try except em Python é essencial para criar programas mais seguros e confiáveis.
Com ele, é possível prever falhas e reagir de forma controlada, sem interromper o funcionamento do código.

Sempre que houver risco de erro, pense em como tratá-lo de maneira amigável.
Assim, você torna seu programa mais estável e melhora a experiência de quem o utiliza.


Perguntas Frequentes (FAQ)

1. O que é try except em Python?
É uma estrutura usada para tratar erros e evitar que o programa pare ao encontrar um problema.

2. Para que serve o try em Python?
O bloco try tenta executar um código que pode gerar erro.

3. Para que serve o except?
O except trata o erro, mostrando uma mensagem ou tomando uma ação.

4. Posso usar mais de um except?
Sim, você pode tratar diferentes tipos de erro separadamente.

5. O que acontece se não tiver erro no try?
O bloco except é ignorado e o código segue normalmente.

6. O que faz o finally?
Executa sempre, com ou sem erro, ideal para liberar recursos.

7. É obrigatório usar else ou finally?
Não, eles são opcionais, mas podem ajudar na clareza do código.

8. O que é ValueError?
É um tipo de erro que ocorre quando o valor fornecido é inválido.

9. Posso deixar só “except:” sem tipo de erro?
Pode, mas não é recomendado, pois esconde erros inesperados.

10. O try except deixa o programa mais lento?
Não, o impacto no desempenho é mínimo e vale a pena pela segurança.

Compartilhe:

Facebook
WhatsApp
Twitter
LinkedIn

Conteúdo do artigo

    Artigos relacionados

    Símbolo de repetição ao lado do logotipo do Python pensativo, representando o conceito de loops na programação em Python.
    Fundamentos
    Foto do Leandro Hirt

    Como Funcionam os Loops em Python

    Os loops em Python são estruturas fundamentais que permitem repetir um conjunto de instruções várias vezes sem precisar escrever o

    Ler mais

    Tempo de leitura: 7 minutos
    10/11/2025
    Código Python com valores Boolean True e False em tela de computador
    Fundamentos
    Foto do Leandro Hirt

    O que é Boolean em Python? Entenda os valores True e False

    Os valores Boolean são um dos conceitos mais importantes da programação em Python. Eles representam apenas duas possibilidades: verdadeiro ou

    Ler mais

    Tempo de leitura: 5 minutos
    09/11/2025
    Logo do Python com expressão pensativa e o texto range(), representando a função range no Python
    Fundamentos
    Foto do Leandro Hirt

    Como Funciona o range() no Python

    A função range() é uma das mais usadas no Python, principalmente quando o assunto é laços de repetição. Ela serve

    Ler mais

    Tempo de leitura: 6 minutos
    06/11/2025
    Pessoa utilizando um notebook com código aberto na tela, representando o desenvolvimento de software ou programação em Python
    IDEsFundamentos
    Foto do Leandro Hirt

    O Que é o IDLE do Python e Como Usá-lo no Seu Computador

    Aprender Python é uma ótima escolha para quem deseja entrar no mundo da programação. Mas antes de começar a escrever

    Ler mais

    Tempo de leitura: 7 minutos
    04/11/2025
    Tela de computador exibindo código
    Fundamentos
    Foto do Leandro Hirt

    O que é e Como Usar o Ambiente Virtual (venv) no Python

    Aprender a usar o ambiente virtual (venv) é uma das etapas mais importantes para quem desenvolve em Python. Essa ferramenta

    Ler mais

    Tempo de leitura: 8 minutos
    04/11/2025
    Ilustração representando conjuntos (sets) em Python
    Fundamentos
    Foto do Leandro Hirt

    Entendendo o Conceito de Set (Conjuntos) em Python

    Os conjuntos, ou sets em Python, são uma das estruturas de dados mais úteis da linguagem. Eles permitem armazenar coleções

    Ler mais

    Tempo de leitura: 6 minutos
    03/11/2025