> As you see, the traceback only starts from function c, which handles the > exception. > It doesn't show main(), a() and b(), which might however be (and are, in > my case) critical to diagnose the severity of the problem (since many > different paths would lead to calling c()).
This results in the way the tb is created. If an exception occours, and there is no one who handles it in the current function, a traceback object is created. Because the the calling function could have a try-except clause, the function returns with NULL and an set exception. Now if there is no one to handle the exception, a traceback object is created and linked with the existing one. In your case does the traceback start from the function c, because no exception occoured in main() etc. You catched it. If you want to determine the calling path, you can take a look at the encapsuled frame in the tb. Best -- http://mail.python.org/mailman/listinfo/python-list