Merge pull request #485 from YosysHQ/exception_translation

Made proper exception translation
This commit is contained in:
Miodrag Milanović 2020-08-08 10:43:22 +02:00 committed by GitHub
commit fbe486df45
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -86,7 +86,13 @@ template <> struct string_converter<Property>
PYBIND11_MODULE(MODULE_NAME, m)
{
py::register_exception<assertion_failure>(m, "PyExc_AssertionError");
py::register_exception_translator([](std::exception_ptr p) {
try {
if (p) std::rethrow_exception(p);
} catch (const assertion_failure &e) {
PyErr_SetString(PyExc_AssertionError, e.what());
}
});
using namespace PythonConversion;