← retour aux snippets

traceback: capturer et formater une exception

Récupérer la pile et le message pour logs ou retours API.

objectif

Récupérer la pile et le message pour logs ou retours API.

code minimal

import traceback
try:
    1/0
except Exception as e:
    tb = "".join(traceback.format_exception(e))
    print("ZeroDivisionError" in tb)  # attendu: True

utilisation

import traceback
def f():
    try: x = 1/0
    except Exception:
        return traceback.format_exc()
s = f()
print("Traceback" in s)

variante(s) utile(s)

import traceback
print(isinstance(traceback.extract_stack(), list))

notes

  • format_exc/format_exception produisent des chaînes prêtes à logguer.
  • Évitez d’exposer des stacks brutes côté client en prod.