J'essaie de faire quelque chose de similaire à ce qui suit :
try:
1/0
except ZeroDivisionError as e:
import ipdb; ipdb.set_trace()
Lorsque j'entre dans le débogueur, j'aimerais que l'instance d'exception e
pour être dans ma portée locale. Cependant, si j'exécute ce script, je constate que ce n'est pas le cas :
Kurts-MacBook-Pro-2:Scratch kurtpeek$ python debug_exception.py
--Return--
None
> /Users/kurtpeek/Documents/Scratch/debug_exception.py(4)<module>()
2 1/0
3 except ZeroDivisionError as e:
----> 4 import ipdb; ipdb.set_trace()
ipdb> dir()
['__annotations__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__return__', '__spec__', 'ipdb']
ipdb> e
*** NameError: name 'e' is not defined
Pourquoi est-ce que e
non défini ? J'utilise actuellement print
pour connaître les attributs des e
mais je pense qu'il devrait être possible de le faire de manière interactive.