ओवरराइड नहीं कर सकता है के व्यवहार को अनुकूलित करने का प्रयास करें जैसा कि the recipe द्वारा वर्णित है।sys.excepthook
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()
बुलाया जा रहा है नहीं है। ऐसा लगता है कि sys.excepthook = info
मेरी पायथन 2.5 स्थापना में काम नहीं करता है।
और कैसे किसी IPython साथ हुक को छोड़कर उपयोग के बारे में जाना होगा? – levesque
यह आंशिक रूप से भ्रामक है। ipython जाल अपवाद स्वयं करता है, लेकिन जिस तरह से यह sys.excepthook का उपयोग कर है, तो आप यह नहीं कह सकते कि यह sys.excepthook का उपयोग नहीं करता है। ipython उपयोगकर्ता से इस हुक को ओवरराइड करने की क्षमता को हटा देता है, हालांकि। – snapshoe
@fugacity और Alex - मैं उस क्षेत्र में एक एम्बेडेड खोल कैसे लॉन्च कर सकता हूं जहां अपवाद होता है? मैंने अभी यहां एक प्रश्न खोला है: http://stackoverflow.com/questions/15752437/opening-an-ipython-shell-on-any-uncatched-exception और यह धागा पाया जो अत्यधिक प्रासंगिक प्रतीत होता है। शायद आप यह जान सकते हैं कि यह कैसे करें। –