Como Usar Try Except em Python: Guia Completo de Tratamento de Erros
Nesta aula, vou te mostrar, de forma simples e prática, como usar try except em Python para fazer o tratamento de erros e evitar que o usuário veja mensagens confusas.
O try except é a estrutura do Python para tratamento de erros. O código que pode falhar fica dentro do try; se ocorrer uma exceção, o Python pula para o bloco except, evitando que o programa quebre. O ideal é capturar exceções específicas, como FileNotFoundError ou ZeroDivisionError, e você ainda pode usar else e finally.
Caso prefira esse conteúdo no formato de vídeo-aula, assista ao vídeo abaixo ou acesse o nosso canal do YouTube!
O que você aprende neste vídeo
Resposta rápida: A aula ensina o tratamento de erros em Python com try e except, usando um arquivo inexistente e uma divisão por zero. Você aprende a capturar FileNotFoundError e ZeroDivisionError pelo nome, exibir a mensagem com as erro, deixar o except genérico por último e usar else e finally. Evite except: pass, que esconde o erro.
Neste vídeo (19 min):
- 2:05 - A lógica do
try/except: tentar executar um trecho e, se falhar, desviar para outro bloco em vez de parar o programa com o traceback - 3:05 -
print(a / b)comb = 0dispara oZeroDivisionError, uma exceção que o Python já traz pronta - 5:05 - Leitura de um arquivo
.txtcomwith openfalhando comFileNotFoundErrorpor causa do nome escrito errado - 5:35 - Primeiro
trycomexceptgenérico que troca o erro padrão por uma mensagem própria - 6:52 - O risco do
except: pass: o erro some sem aviso e, num código de dezenas de linhas, não dá para saber onde está o problema - 9:00 - A lista de exceções embutidas na documentação do Python, de
ZeroDivisionErroraFloatingPointError - 10:45 -
except FileNotFoundError as erro:captura só o arquivo não encontrado, eprint(erro)mostra a mensagem original - 12:05 - O
exceptgenérico acima do específico geraSyntaxError: ele vai por último, porque o Python para no primeiro bloco que corresponde - 14:20 -
except ZeroDivisionError as erro:tratando a divisão dea = 10por zero - 15:50 -
elseroda só quando nenhumexceptfoi acionado, e imprime sem erros quando a divisão funciona - 16:30 -
finallyexecuta sempre, com ou sem exceção: numa automação com Selenium, é onde se fecha a janela do navegador
Trechos do vídeo:
- Tudo o que está dentro do
tryé tentado; se uma exceção acontece, o Python pula para oexceptem vez de encerrar o programa com o traceback - Um
exceptsem tipo tem de vir depois dos específicos: fora dessa ordem o Python acusaSyntaxError, e entre vários blocos vale o primeiro que corresponde à exceção except: passfaz o erro desaparecer sem deixar rastro, e num programa com dezenas de linhas isso transforma um defeito simples numa busca às cegas- Escrever
except ZeroDivisionError as erroguarda a exceção numa variável, eprint(erro)mostra a mensagem original do Python sem interromper o programa - O
elsesó executa quando nenhuma exceção ocorreu, enquanto ofinallyexecuta sempre, o lugar certo para fechar a janela do navegador aberta pelo Selenium
Para receber por e-mail o(s) arquivo(s) utilizados na aula, preencha:
Não vamos te encaminhar nenhum tipo de SPAM! A Hashtag Treinamentos é uma empresa preocupada com a proteção de seus dados e realiza o tratamento de acordo com a Lei Geral de Proteção de Dados (Lei n. 13.709/18). Qualquer dúvida, nos contate.
O que você vai aprender:
Como Usar Try e Except no Python
O bloco try except em Python é uma das principais ferramentas para fazer o tratamento de erros e evitar que seus programas quebrem de forma inesperada.
Neste artigo, vou te mostrar, de forma simples e prática, como usar try except em Python, com exemplos reais e dicas valiosas para você deixar seus códigos mais robustos e profissionais.
O que é Try Except em Python?
Quando você executa um código em Python, é bem comum encontrar erros: seja ao tentar abrir um arquivo que não existe ou ao fazer uma conta que não dá certo, como dividir um número por zero.
Esses erros, chamados de exceções, podem interromper a execução do seu programa e mostrar mensagens confusas para o usuário.
O bloco try except serve justamente para isso: capturar essas exceções e permitir que você trate os erros de forma personalizada, evitando que o programa pare de funcionar ou que o usuário veja mensagens técnicas que ele não vai entender.
Como funciona o bloco Try Except em Python?
A estrutura básica do try except é bem simples:
try:
# código que pode gerar um erro
except:
# código a ser executado caso ocorra um erroO Python tenta executar o que está dentro de try. Se acontecer algum erro, ele pula automaticamente para o bloco except.
Exemplo prático de Try Except: FileNotFoundError em Python
Vamos ver um exemplo clássico: tentar abrir um arquivo que não existe:
with open('arquivo.txt', 'r') as file_object:
texto = file_object.read()
print(texto)Aqui, teremos o erro FileNotFoundError (arquivo não encontrado).

Agora, usando try except, podemos tratar esse erro e mostrar uma mensagem mais amigável.
try:
with open('arquivo.txt', 'r') as file_object:
texto = file_object.read()
print(texto)
except FileNotFoundError as error:
print(f"Erro: {error}")Assim, evitamos que o programa quebre e ainda mostramos uma mensagem clara para o usuário.

Exemplo de Try Except com ZeroDivisionError em Python
Outro erro clássico que podemos ter é de divisão por zero.
a = 10
b = 0
try:
print(a / b)
except ZeroDivisionError as error:
print(f"Erro: {error}")Aqui, o Python evita quebrar o programa e exibe uma mensagem avisando sobre o erro: Erro: division by zero.

Por que evitar usar except genérico?
Embora seja possível usar apenas except: para capturar qualquer erro, isso não é recomendado.
Veja este exemplo:
try:
with open ('arquivo.txt', 'r') as file_object:
texto = file_object.read()
print(texto)
except:
print('Deu ruim')
Por que evitar? Porque isso pode acabar escondendo erros importantes, dificultando muito a identificação e correção de problemas no seu código.
Sempre que possível, capture exceções específicas, como FileNotFoundError ou ZeroDivisionError. Assim, o tratamento é mais preciso e seguro.
OBS: Caso você queira verificar todos os erros pode clicar aqui para ser direcionado para a página de documentação do Python onde vai conseguir visualizar esses possíveis erros.
Como usar else e finally no Try Except em Python
Além do except, o Python permite usar as cláusulas else e finally dentro do bloco try except para deixar o tratamento ainda mais completo:
a = 10
b = 0
try:
print(a / b)
except ZeroDivisionError as error:
print(f"Erro: {error}")
else:
print("Sem erros!")
finally:
print("Aqui sempre vai executar!")O else só é executado se não houver erro. Já o finally executa sempre, independentemente de ter erro ou não.

Quando usar o finally em Python?
Sempre que você precisar garantir que uma ação aconteça, mesmo que tenha ocorrido um erro. Por exemplo: fechar um arquivo, encerrar uma conexão com banco de dados ou liberar recursos do sistema.
Como capturar múltiplas exceções com Try Except
Você também pode capturar múltiplos tipos de exceção no mesmo bloco de código, usando vários except.
Olha só um exemplo mais completo:
try:
num = int(input("Digite um número: "))
resultado = 10 / num
except ValueError:
print("Erro: valor inválido! Digite um número.")
except ZeroDivisionError:
print("Erro: não divida por zero!")
else:
print(f"Resultado: {resultado}")
finally:
print("Fim da execução.")Nesse exemplo cobrimos tanto o erro de valor inválido quanto de divisão por zero e o programa continua funcionando, independentemente do que o usuário digitar.

Como criar exceções personalizadas com Try Except em Python
Além de tratar os erros padrão, você também pode criar suas próprias exceções, quando quiser definir regras específicas para o seu sistema.
Veja como fazer isso:
class ErroPersonalizado(Exception):
pass
try:
raise ErroPersonalizado("Erro criado por você!")
except ErroPersonalizado as erro:
print(f"Erro personalizado: {erro}")
Isso é muito útil para casos em que o seu código precisa de regras de validação bem específicas.
Boas práticas no tratamento de erros com Try Except
Para usar try except de forma eficiente e profissional, siga estas boas práticas:
- Capture exceções específicas, sempre que possível.
- Use else para código que deve rodar somente se não houver erro.
- Use finally para ações que devem acontecer independente do erro.
- Evite except: genérico, pois ele captura todos os erros e pode mascarar problemas.
- Utilize logging para registrar erros, especialmente em aplicações maiores.
Por que usar Try e Except no Python?
O tratamento de exceções é fundamental para criar programas mais robustos, seguros e fáceis de usar.
Sem ele:
- O programa pode quebrar a qualquer erro.
- O usuário vê mensagens confusas.
- Fica mais difícil identificar e resolver problemas.
Com ele:
- O programa continua funcionando, mesmo com erros.
- O usuário recebe mensagens claras.
- O código se torna mais profissional.
Dúvidas Comuns sobre Try Except em Python
Quando devo usar Try Except?
Sempre que existir uma chance real de um erro acontecer e você quiser tratar isso de forma controlada, sem quebrar o programa.
Posso capturar múltiplas exceções?
Sim! Basta usar vários blocos except ou agrupar exceções numa tupla.
É obrigatório usar else e finally?
Não. Eles são opcionais, mas podem ser muito úteis para organizar melhor o fluxo do código.
Perguntas frequentes
1. O que é uma exceção em Python?
Uma exceção é um erro que ocorre durante a execução de um programa em Python, como tentar abrir um arquivo que não existe (FileNotFoundError) ou dividir um número por zero (ZeroDivisionError). Sem tratamento, a exceção interrompe o programa e mostra mensagens técnicas. O bloco try except captura essas exceções e permite tratá-las com elegância.
2. Por que evitar usar except genérico?
Um except genérico captura qualquer erro, o que pode esconder problemas importantes e dificultar a identificação de bugs no código. O ideal é sempre capturar exceções específicas, como FileNotFoundError ou ValueError. Assim, o tratamento fica mais preciso e você sabe exatamente qual erro está lidando em cada situação.
3. Para que servem o else e o finally no try except?
O else executa apenas quando nenhum erro acontece no bloco try, sendo útil para o código que só deve rodar em caso de sucesso. Já o finally executa sempre, com ou sem erro. Ele é ideal para ações de encerramento, como fechar um arquivo, encerrar uma conexão com banco de dados ou liberar recursos.
4. Como criar uma exceção personalizada em Python?
Para criar sua própria exceção, defina uma classe que herda de Exception, como class ErroPersonalizado(Exception): pass. Depois, você pode dispará-la com raise ErroPersonalizado('mensagem') e tratá-la em um bloco except. Isso é útil quando o seu sistema precisa de regras de validação específicas, com mensagens de erro personalizadas para cada situação.
Conclusão – Domine o Try Except e melhore seus códigos!
Ao longo deste artigo, você viu como o try except em Python é uma ferramenta essencial para garantir que seus programas sejam mais robustos, profissionais e preparados para imprevistos.
Aprendemos como capturar e tratar erros específicos, como usar else e finally para ter mais controle sobre o fluxo e como criar exceções personalizadas para cenários mais complexos.
Agora é a sua vez: pratique os exemplos que mostramos aqui, experimente criar seus próprios tratamentos de erro e veja como seu desenvolvimento em Python evolui com mais confiança e qualidade.
Quer continuar aprendendo? Confira nossos outros conteúdos sobre Python ou inscreva-se no nosso Curso Python Impressionador, a oportunidade ideal para dominar a linguagem que mais cresce no mundo e ampliar suas possibilidades na área!
Hashtag Treinamentos
Para acessar outras publicações de Python, clique aqui!
Posts mais recentes de Python
- Curso Básico de Python: Saia do Zero em 10 Aulas GrátisAprenda com o curso básico de Python gratuito da Hashtag: 10 aulas práticas, exercícios e projetos reais para sair do zero em programação.
- Agentes RAG com Python: como criar um assistente de IAAprenda a criar Agentes RAG com Python do zero: LangChain, FAISS e OpenAI para montar um assistente de IA que responde com base nos seus documentos.
- 25 Tipos de Gráficos em Python: Guia Completo com CódigoAprenda a criar os principais tipos de gráficos em Python com Plotly: barras, pizza, mapas e mais, com código pronto para copiar e usar.
Posts mais recentes da Hashtag Treinamentos
- Planilha de Controle de Notas Fiscais no Excel [Grátis]Baixe a planilha de controle de notas fiscais no Excel grátis: calcule ISS e retenções, veja o que está em aberto e gere a cobrança de cada nota de serviço.
- Qual IA usar na empresa: ChatGPT, Claude ou Perplexity?Qual IA usar na empresa: veja as diferenças entre ChatGPT, Claude e Perplexity e quando cada um rende mais em cada área da sua equipe.
- Apostilas Gratuitas em PDF: Excel, Power BI, Python e IABaixe apostilas gratuitas em PDF de Excel, Power BI, Python, Claude e agentes de IA, com exercícios e gabarito. Escolha a sua e comece hoje.








