try except inside exec
Michele Petrazzo
michele.petrazzo at REMOVE_me_unipex.it
Fri May 29 11:55:01 EDT 2009
Aaron Brady wrote:
> STR = """
> class Globals:
> err = 0
> def a_funct():
> try:
> 1/0
> except ZeroDivisionError:
> import traceback
> Globals.err = traceback.format_exc()
> """
> exec STR in env
> try:
> env["a_funct"]()
> except ZeroDivisionError:
> import traceback
> err = traceback.format_exc()
>
> Then the formatted exception will be available in 'err'. Do you want
> the exception-handling to be part of the function you are entering
> into 'env'?
My goal is to execute a function received from a third-part, so I cannot
modify as you made in your first piece of code.
I want a "clean" exception with the real line code/tb so I can show a
"real" error message. This means that the try/execpt has to include the
passed function and catch every possible exception.
Do you have any ideas on how can I figure this out?
Thanks,
Michele
More information about the Python-list
mailing list