Messages d'erreur trop vagues dans certain cas

Document Actions
Réponses: 0   Visites: 0
Up one level
Vous devez être un membre enregistré pour contribuer sur ce forum. Inscrivez-vous maintenant

Messages d'erreur trop vagues dans certain cas

Posté par mork le 13/09/2011 12:06
Bonjour,

J'utilise Zope 2.11.1 avec le produit ZPyODBCDA.
Je suis confronté au problème suivant:
Si j'exécute une requête SQL à partir de l'interface de développement et qu'une erreur survient, j'ai un message d'erreur _utile_, du type:

code:
Request URL http://********/sql_my_query/manage_test 
Exception Type instance 
Exception Value ('42P01', '[42P01] Error while executing the query;\nERROR: relation "toto" does not exist (7) (SQLExecDirectW)')


En rechanche, si j'utilise cette methode SQL dans une page et que je veux afficher la page, le message d'erreur devient complètement inutile:
code:
Request URL http://********/page_test 
Exception Type SystemError 
Exception Value 'finally' pops bad exception


Et même au niveau du traceback ce n'est guère plus intéressant car je n'ai même pas le nom de l'objet SQL qui provoque mon erreur (sql_my_query):
code:
Traceback (innermost last): 
Module ZPublisher.Publish, line 119, in publish 
Module ZPublisher.mapply, line 88, in mapply 
Module ZPublisher.Publish, line 42, in call_object 
Module OFS.DTMLDocument, line 132, in __call__
<DTMLDocument at /*******/page_test>
URL: http://*******/page_test/manage_main
Physical Path:/*******/page_test 
Module DocumentTemplate.DT_String, line 478, in __call__


J'ai essayé de voir s'il n'y avait pas moyen de modifier quelque chose dans la fonction __call__ dans DT_String afin de récupérer l'erreur sql à l'origine du plantage, mais franchement, je n'ai pas le niveau en python pour y parvenir.

Est-ce que quelqu'un aurait une idée ou une solution pour faire en sorte d'avoir le retour de la "vraie" erreur au lieu de ce "finally pops bad exception" dépourvu de détail? Parce que ce truc qui est un peu énervant quand on développe, devient vite un enfer quand on débug le programme d'une tierce personne...

Merci d'avance

Mork

(PS: si étourdiment vous avez compris que je demande l'explication de l'erreur signalée en début de ce post, merci de noter que ce n'est pas ma question.^^ Cette erreur, provoquée intentionnellement, constitue juste un exemple)
Ce sujet ne contient aucune réponse

Python.org : Le site officiel du langage Python.
Zope.org : Le site web officiel de Zope.
Daily Python-URL : Actus de l'univers Python.
Tribute to Zyons : Zyons notre ami et membre fondateur de l'Afpy, nous quittait en 2005.