diff options
Diffstat (limited to 'src/boost/libs/python/test/exception_translator.cpp')
-rw-r--r-- | src/boost/libs/python/test/exception_translator.cpp | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/src/boost/libs/python/test/exception_translator.cpp b/src/boost/libs/python/test/exception_translator.cpp new file mode 100644 index 000000000..1e91c9296 --- /dev/null +++ b/src/boost/libs/python/test/exception_translator.cpp @@ -0,0 +1,28 @@ +// 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); +} + |