On 13 Jun 2005 04:23:03 -0700 [EMAIL PROTECTED] wrote: > Hi all, > > I have a C++ library I call from python. The problem is I have c++ > exceptions that i want to be translated to python. I want to be able to > do stuff like: > try: > my_cpp_function() > except cpp_exception_1: > do_stuff > except cpp_exception_2: > do_other_stuff > > any ideas how can i do the translation?
1. Create Python class for your exception. For simple case the code will be: static PyObject *YouExceptionClass; # and in module initialization function: YouExceptionClass = PyErr_NewException("YourModule.YourException", 0, 0); 2. Add it to module dictionary. 3. In wrapper for my_cpp_function use something like the following code: try { my_cpp_function_impl(); } catch (YouException &exc) { PyErr_SetString(YouExceptionClass, exc.what()); return 0; } -- Denis S. Otkidach http://www.python.ru/ [ru] -- http://mail.python.org/mailman/listinfo/python-list