saving an exception
Gabriel G
gabrielg_laburando at yahoo.com.ar
Tue Oct 3 03:00:55 EDT 2006
At Tuesday 3/10/2006 02:15, Bryan wrote:
>i would like to save an exception and reraise it at a later time.
>def foo():
>Â Â try:
>Â Â Â Â 1/0
>Â Â except Exception, e:
>Â Â Â Â exception = e
>
>if exception: raise exception
>
>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?
The raise statement has 3 arguments, the third
being the traceback (not used so much, except in cases like yours).
You can get the values using sys.exc_info()
(Don't store the traceback more than needed
because it holds a reference to all previous stack frames...)
Gabriel Genellina
Softlab SRL
__________________________________________________
Preguntá. Respondé. Descubrí.
Todo lo que querías saber, y lo que ni imaginabas,
está en Yahoo! Respuestas (Beta).
¡Probalo ya!
http://www.yahoo.com.ar/respuestas
More information about the Python-list
mailing list