Este blog é um complemento do nosso canal no YouTube. Clique em @CanalQb para seguir e acompanhar nossos vídeos!

Sugestões de pesquisas

Python: Como usar o módulo inspect para rastrear erros

#Python; #Debugging; #Programacao

Como usar o módulo inspect em Python para rastrear a linha de execução

Em projetos grandes, como scripts Python com centenas ou milhares de linhas, pode ser útil identificar em qual linha determinada execução está ocorrendo — especialmente durante depuração e testes. O módulo inspect do Python oferece ferramentas poderosas para isso.

Exibindo a linha atual de execução

Com o inspect, é possível identificar e imprimir o número da linha sendo executada. Veja o exemplo abaixo:

import inspect

def mostrar_linha_atual():
    frame = inspect.currentframe()
    lineno = frame.f_lineno
    print("Executando a linha {}".format(lineno))

mostrar_linha_atual()
# Código adicional aqui
mostrar_linha_atual()

Esse código imprime no console a linha que está sendo executada. Isso pode ajudar a entender o fluxo do programa e encontrar gargalos ou falhas de execução.

Capturando a linha do erro com try/except

Se você quer rastrear o local exato onde ocorreu um erro, combinando inspect com o módulo sys, é possível identificar o número da linha que gerou a exceção. Veja como:

import inspect
import sys

def minha_funcao():
    # Linha com erro
    print(variavel_inexistente)

try:
    minha_funcao()
except Exception as e:
    _, _, tb = sys.exc_info()
    linha = tb.tb_lineno
    print(f"Ocorreu um erro na linha {linha}: {e}")

Neste exemplo, a função minha_funcao() contém uma variável indefinida, o que causa um erro do tipo NameError. O bloco try/except captura a exceção e usa sys.exc_info() para acessar o traceback, que fornece o número exato da linha com problema.

Como funciona o traceback e por que é útil

O objeto traceback (tb) contém informações sobre a pilha de chamadas no momento em que a exceção ocorreu. O atributo tb_lineno fornece o número exato da linha de código que disparou a exceção, o que facilita muito a correção de erros.

Esse tipo de depuração é extremamente útil, principalmente em ambientes de desenvolvimento e testes, onde você precisa identificar rapidamente pontos de falha.

Considerações finais sobre uso do inspect

  • Use inspect.currentframe() apenas em contextos de depuração.
  • Evite exibir informações técnicas ao usuário final em aplicações reais (produção).
  • Trate exceções de maneira segura e clara, registrando logs se necessário.

Essas práticas ajudam a tornar seus scripts mais profissionais e fáceis de manter. O módulo inspect pode ser combinado com outros recursos do Python para construir ferramentas internas de diagnóstico e análise em projetos maiores.

Referência oficial

Para mais informações, acesse a documentação oficial do módulo inspect no Python.

Dominar essas técnicas permite criar programas mais robustos e fáceis de depurar, reduzindo o tempo gasto com correção de erros em ambientes de desenvolvimento.

Postar um comentário

Comente só assim vamos crescer juntos!
CanalQb mais próximo Quer falar com o CanalQb?
Em que posso te ajudar?
Fale comigo