Which exception has been used? (was: Which exception to use?)

Delaney, Timothy tdelaney at avaya.com
Thu Jan 30 19:39:57 EST 2003


> From: Laura Creighton [mailto:lac at strakt.com]
> 
> > Suppose, as is always true, though, that I'm dealing
> > with modules not under my control.  How do I catch
> > "other"?  There must be something I'm missing about
> > the new type and exception systems, 'cause I don't 
> > see a Pythonic way to write
> >   ....
> >   except OTHER, e:
> >       # The foreign code threw an exception of
> >       #    a type I don't recognize, but I need
> >       #    to process/log/... 'e'.
> >       cope(e)
> > Yes, I can write
> >   ....
> >   except:
> >       cope()
> > but then I've lost the information I want in 'e'.
> 
>  It is sitting around in  sys.exc_info(). Grab it before 
> another exception
>  happens. 

Note as well, that sys.exc_info() is thread-safe - if an exception occurs on
another thread it will not affect the result. sys.exc_info() will only be
overwritten by an exception on the same thread.

Tim Delaney





More information about the Python-list mailing list