The accepted answer to boost::python Export Custom Exception shows how to export a custom exception class from C++, and Boost.Python custom exception class shows how to export an exception class that inherits from Python’s Exception. How can I do both? That is expose an exception class that has custom methods to retrieve information and also have that class be derived from Python’s Exception.
The accepted answer to boost::python Export Custom Exception shows how to export a custom
Share
A workable solution, suggested by Jim Bosch on the C++-sig list, is to use composition instead of inheriting from the wrapped C++ exception. The code must create a Python exception as is done here, and then add the wrapped C++ exception as an instance variable of the Python exception.
The wrapped C++ exception can then be accessed from Python like this:
but the exception will also be caught by