Windows Cmd.exe Window

Duncan Booth duncan.booth at invalid.invalid
Thu Jul 7 10:16:18 EDT 2005


harold fellermann wrote:

> sorry, I did not think. if you want to wait for input _only_ if
> an exception occured, your exit function needs to check for the
> exception:
> 
> >>> import atexit
> >>>
> >>> def wait_on_exc() :
> ...     import sys
> ...     if sys.exc_type :
> ...         raw_input()
> ...
> >>> atexit.register(wait_on_exc)
> 
> this should do the job, now.
> 

Did you think to test your code before posting it?

sys.exc_type is deprecated (you should use sys.exc_info() instead), but 
neither will tell you whether the program is exiting as a result of an 
exception when called from an atexit function, by the time the atexit 
function is called the exception is no longer accessible.

As Larry Bates suggested, the OP needs to use a sys.excepthook. 
Unfortunately he doesn't test his code either (the parameter 'traceback' 
conflicts with the module 'traceback'), but at least the principle is 
correct.






More information about the Python-list mailing list