Retrieving a stacktrace from an exception object / forwarding an exception
alg
agillesp at gmail.com
Fri Jun 22 06:08:45 EDT 2007
Use the traceback module:
def log_exception():
"""This function will log the current exception's traceback
to logfile
"""
import traceback
f = open("logfile", 'a')
traceback.print_exc(32, f)
f.close()
def my_func():
raise Exception
def wrapper():
try:
my_func()
except Exception, e:
log_exception()
raise e
On Jun 21, 11:54 pm, Samuel <knipk... at gmail.com> wrote:
> Hi,
>
> I am trying to wrap a function that throws an exeption in such a way
> that the stacktrace is logged into a file and the exception is
> forwarded after that. For example:
>
> -------------------
> def my_func():
> raise Exception("hello")
>
> def wrapper():
> try:
> my_func()
> except Exception, e:
> f = open("logfile", 'a')
> f.write(e.stacktrace())
> raise e
>
> wrapper() # should throw the exception with a stacktrace showing
> my_func()
> -------------------
>
> Any idea if and how this can be done?
>
> -Samuel
More information about the Python-list
mailing list