Maison > développement back-end > Tutoriel Python > Comment puis-je capturer et afficher une trace Full Stack en Python sans mettre fin au programme ?

Comment puis-je capturer et afficher une trace Full Stack en Python sans mettre fin au programme ?

Barbara Streisand
Libérer: 2024-11-20 12:11:11
original
620 Les gens l'ont consulté

How Can I Capture and Display a Full Stack Trace in Python Without Terminating the Program?

Détecter les exceptions au traçage

Lorsque vous rencontrez des exceptions lors de l'exécution de Python, il peut être nécessaire de les capturer et de les enregistrer sans mettre fin brusquement au programme . Pour y parvenir, un bloc try/sauf peut être utilisé, dans lequel des exceptions spécifiques peuvent être gérées avec élégance.

Cependant, dans certains scénarios, il est souhaitable d'afficher l'intégralité de la trace de pile associée à l'exception, comme si l'exception avait été déclenchée sans le bloc try/sauf d'interception. Cela fournit des informations précieuses sur la cause spécifique et l'emplacement de l'erreur.

Pour obtenir un traçage complet, la méthode traceback.format_exc() peut être exploitée. Voici un exemple :

import traceback

def do_stuff():
    raise Exception("test exception")

try:
    do_stuff()
except Exception:
    print(traceback.format_exc())
Copier après la connexion

Cet extrait de code produira le résultat suivant, imitant la trace de la pile d'exceptions par défaut :

Traceback (most recent call last):
  File "main.py", line 9, in <module>
    do_stuff()
  File "main.py", line 5, in do_stuff
    raise Exception("test exception")
Exception: test exception
Copier après la connexion

En utilisant la méthode traceback.format_exc(), l'intégralité le traçage est capturé et imprimé, fournissant un enregistrement détaillé de l'occurrence de l'exception. Ces informations peuvent être inestimables pour déboguer et comprendre la cause première des erreurs sans perturber l'exécution du programme.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal