Générer un numéro ID selon l'exception.

Générer un numéro ID selon l'exception. - Python - Programmation

Marsh Posté le 25-09-2004 à 15:35:15    

Bonjour
 
Est ce que vous avez une idée de comment obtenir "un numéro d'identification" d'une exception ?
 
par exemple, disons que j'ai une fonction qui déconne dans mon programme, à chaque fois qu' elle est executé, et qu'une exception est levée, je puisses loggé par exemple:

Exception: ID#12120


 
Avec un ID différent pour les differentes fonctions de mon programme
Mais une exception à un même endroit devra toujours renvoyer le meme ID.
 
 
 :jap:

Reply

Marsh Posté le 25-09-2004 à 15:35:15   

Reply

Marsh Posté le 25-09-2004 à 17:35:46    

regarde le module traceback, si j'étais toi, je prendrais comme identifiant le nom de la fonction appelante (dernière frame)

Reply

Marsh Posté le 25-09-2004 à 19:22:41    

en fait je me sers déja du module traceback qui me permet de logguer tous les messages d'erreur complets.
 
Là je viens de trouver un truc, je sais pas si c'est correct, enfin ca à l'air de fonctionner.
 

Code :
  1. def getID():
  2.     (type, detail, tb) = sys.exc_info()
  3.     ch = repr(traceback.extract_tb(tb))
  4.     ID = hex(abs(hash(ch)))
  5.     print "Exception ID: %s" % ID
  6. def func():
  7.     try:
  8.         int('Python')
  9.     except Exception, e:
  10.         getID()


 

>>>func()
Exception ID: 0x2fea0761


 
je pourrais également rajouter le nom de la fonction appelante, bien que je le vois déja dans les logs.
 
bon c'est pas trop moche ?  :D

Reply

Marsh Posté le 25-09-2004 à 19:32:24    

si ça te convient ...

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed