Introdução
O tratamento de erros é um componente crítico da escrita de código Python robusto e confiável. Ao antecipar erros potenciais e gerenciar exceções com elegância, você pode evitar que seus programas travem inesperadamente e fornecer feedback significativo aos usuários ou desenvolvedores. Neste tutorial, você aprenderá como usar blocos try
/except
para capturar exceções, como usar o módulo de registro integrado para registrar erros e algumas técnicas comuns de depuração para solucionar problemas de maneira eficaz.
Tratamento básico de erros com try/except
A maneira mais simples de lidar com erros em Python é usando um bloco try
/except
. Isso permite “capturar” exceções e tratá-las de maneira controlada.
Exemplo: capturando um erro de divisão
try:
= 10 / 0
result except ZeroDivisionError:
print("Error: Division by zero is not allowed!")
Neste exemplo, a divisão por zero gera um ZeroDivisionError
, que é capturado pelo bloco except
, impedindo que o programa trave.
Usando vários blocos Except
Você pode lidar com diferentes tipos de exceções com vários blocos except
. Isso é útil quando você espera diferentes tipos de erros no seu código.
Exemplo: Lidando com várias exceções
try:
= int("abc") # Isso levantará um ValueError
number = 10 / number
result except ValueError:
print("Error: The provided value is not a valid integer!")
except ZeroDivisionError:
print("Error: Division by zero is not allowed!")
Depuração com registro em log
Em vez de simplesmente imprimir erros, muitas vezes é mais útil registrá-los. O módulo logging
fornece uma estrutura flexível para emitir mensagens de log a partir de programas Python.
Exemplo: registro de erros
import logging
# Configurar o registro
=logging.DEBUG, format="%(asctime)s - %(levelname)s - %(message)s")
logging.basicConfig(level
try:
= int("abc") # Isso levantará um ValueError
value except ValueError as e:
"ValueError occurred: %s", e) logging.error(
Neste exemplo, se ocorrer um erro, ele será registrado com um carimbo de data/hora e nível de erro, o que é extremamente útil para depuração em aplicativos maiores.
Depuração com o depurador Python (pdb)
Para uma depuração mais aprofundada, o depurador integrado do Python (pdb
) permite que você percorra seu código de forma interativa.
Exemplo: usando pdb
import pdb
def faulty_function():
= 10
a = 0
b # Inicie o depurador aqui
pdb.set_trace() = a / b
result return result
faulty_function()
Ao executar este código, o depurador pausará a execução em pdb.set_trace()
, permitindo que você inspecione variáveis e percorra o código para identificar problemas.
Conclusão
O tratamento eficaz de erros e a depuração são habilidades essenciais para qualquer programador Python. Usando blocos try
/except
, registro e ferramentas como pdb
, você pode criar um código que gerencia erros inesperados com elegância e é mais fácil de manter e solucionar. Pratique essas técnicas em seus projetos para criar aplicativos mais robustos e confiáveis.
Leitura adicional
- Python para iniciantes: seu primeiro script
- Sintaxe e variáveis em Python
- Fluxo de controle e loops em Python
Boa programação e que suas sessões de depuração sejam curtas e produtivas!
Explore mais artigos
Aqui estão mais artigos da mesma categoria para ajudá-lo a se aprofundar no tópico.
Reuso
Citação
@online{kassambara2024,
author = {Kassambara, Alboukadel},
title = {Tratamento de erros em Python},
date = {2024-02-05},
url = {https://www.datanovia.com/pt/learn/programming/python/advanced/error-handling.html},
langid = {pt}
}