Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Récupérer le message d'erreur

2 réponses
Avatar
Python-Fr
Bonjour,
j'aimerais bien, comme introduit dans le titre, r=E9cup=E9rer un message
d'erreur non trait=E9 pour le traiter individuellement. J'ai essay=E9 de
remplacer <sys.stderr.write> par une autre fonction cr=E9=E9e pour le
test, mais =E7a ne marche que sous IDLE !

Je sais qu'il est possible de r=E9cup=E9rer une br=E8ve description de
l'erreur ainsi:
except Exception, error:
erreur =3D error
mais j'aimerais bien disposer de toute la trace comme lorsqu'on est
dans une console.

La solution actuelle que j'utilise consiste =E0 remplacer sys.stderr =3D
open('fichier_logs','ab') mais elle ne me convient pas...

Cordialement,

Hexade

2 réponses

Avatar
Do Re Mi chel La Si Do
Bonsoir !

Un petit coup d'oeil, sur le module traceback pourrait donner des idées...

@-salutations

Michel Claveau
Avatar
Bruno Desthuilliers
Bonjour,
j'aimerais bien, comme introduit dans le titre, récupérer un message
d'erreur non traité pour le traiter individuellement. J'ai essayé de
remplacer <sys.stderr.write> par une autre fonction créée pour le
test, mais ça ne marche que sous IDLE !

Je sais qu'il est possible de récupérer une brève description de
l'erreur ainsi:
except Exception, error:
erreur = error
mais j'aimerais bien disposer de toute la trace comme lorsqu'on est
dans une console.


tu a tout ça dans sys.exc_info(). Mais il faut reconstruire la trace à
la mano...