libs/python/test/exception_translator.cpp
// Copyright David Abrahams 2004. Distributed under the Boost // Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) #include <boost/python/module.hpp> #include <boost/python/def.hpp> #include <boost/python/exception_translator.hpp> struct error {}; void translate(error const& e) { PyErr_SetString(PyExc_RuntimeError, "!!!error!!!"); } void throw_error() { throw error(); } BOOST_PYTHON_MODULE(exception_translator_ext) { using namespace boost::python; register_exception_translator<error>(&translate); def("throw_error", throw_error); }