saving an exception

Steve Holden steve at
Tue Oct 3 08:46:28 CEST 2006

Bryan wrote:
> hi,
> i would like to save an exception and reraise it at a later time.
> something similar to this:
> exception = None
> def foo():
>     try:
>         1/0 
>     except Exception, e:
>         exception = e
> if exception: raise exception
> i have a need to do this because in my example foo is a callback from c code
> which was originally called from python and i can't modify the c code. 
> with the above code, i'm able to successfully raise the exception, but the
> line number of the exception is at the place of the explicit raise instead
> of the where the exception originally occurred.  is there anyway to fix
> this?
You can capture the trace at the time the original exception is raised, 
if that would help? I think the traceback module lets you do that.

Steve Holden       +44 150 684 7255  +1 800 494 3119
Holden Web LLC/Ltd
Skype: holdenweb
Recent Ramblings

More information about the Python-list mailing list