6.11. Debogage
6.11.1 Trace d'erreur ou d'exception
Si une erreur se produit quand on appelle une URL, et que l'option debug
du fichier de configuration a la valeur True
, une trace est affichée dans le navigateur
L'information fournie est constituée de :
- l'url appelée
- un tableau qui montre le script dans lequel l'erreur s'est produite : il peut ne pas s'agir du script correspondant à l'url, au cas où l'erreur s'est produite dans un script inclus par la fonction
Include()
. Si c'est le cas, l'arborescence des inclusions est affichée. La table montre le nom du script, le nom de l'exception, le numéro de ligne et le texte de la ligne dans le script erronné - la trace d'erreur Python brute
- un bouton "Debug" si l'utilisateur est connecté comme administrateur
Error in /demo/tour/scriptError.py |
Traceback (most recent call last): File "/home.41/k/a/r/karrigel/www/core/HTTP.py", line 277, in process_request target.run(ns) File "/home.41/k/a/r/karrigel/www/core/k_target.py", line 351, in run exec (self.py_code,namespace) File "", line 2, in ? NameError: name 'blah' is not defined
6.11.2 Utilisation de SCRIPT_END
Quand on débogue un script il peut être utile de se servir de l'exception intégrée SCRIPT_END
pour interrompre l'exécution. Si vous voulez connaître la valeur d'une variable quand une exception est déclenchée vous pouvez écrire quelque chose comme
(...) print "truc vaut",truc raise SCRIPT_END (... la ligne qui déclenche l'exception ...)