Hello group, I'm writing a C++ based application that embeds the python engine. Now I have a problem regarding exception/error information. Is there a way to get the exception message and possibly the traceback into a string for example? I've been eyeballing the PyErr_ module and it seems fairly limited. In other words PyErr_Print() calls the right functions for getting the exception information but unfortunately it is hardwired to print this data directly into sys.stderr, and for an embedded application this is completely inappropriate. I have seen solutions that propose writing a custom Python class with write method and using that to grab the output from sys.stderr and then saving the data for example into a variable for later access, but unless Im mistaken this solution (not only that it is extremely ugly) is not thread safe. Even if a thread in my application is holding GIL, the lock can be released by extensions/the interpreter and thus opens up a race condition regarding that grabber object. Please advice how to do this.
-sami -- http://mail.python.org/mailman/listinfo/python-list