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 -- http://mail.python.org/mailman/listinfo/python-list