Intento personalizar el comportamiento de sys.excepthook
como se describe en the recipe.no puede anular sys.excepthook
en ipython:
:import pdb, sys, traceback
:def info(type, value, tb):
: traceback.print_exception(type, value, tb)
: pdb.pm()
:sys.excepthook = info
:--
>>> x[10] = 5
-------------------------------------------------
Traceback (most recent call last):
File "<ipython console>", line 1, in <module>
NameError: name 'x' is not defined
>>>
pdb.pm()
no se está llamando. Parece que sys.excepthook = info
no funciona en mi instalación de python 2.5.
Y cómo alguien a ir sobre el uso de ganchos con excepción ipython? – levesque
Esto es parcialmente engañoso. ipython sí atrapa excepciones, pero la forma en que lo hace es mediante el uso de sys.excepthook, por lo que no puede decir que no usa sys.excepthook. Sin embargo, ipython elimina del usuario la posibilidad de anular este enganche. – snapshoe
@fugacity y Alex: ¿cómo puedo abrir un shell incrustado en el ámbito donde se produce la excepción? Acabo de abrir una pregunta aquí: http://stackoverflow.com/questions/15752437/opening-an-ipython-shell-on-any-uncatched-exception y encontré este hilo que parece muy relevante. Quizás puedas saber cómo hacer esto. –