![](/img/trans.png)
[英]Set a python variable to a C++ object pointer with boost-python
[英]boost-python unable to catch and translate c++ exception
为什么boost-python无法捕获使用其帮助编写的扩展模块中引发的异常并将其转换为python? 相反,解释器会terminate called after throwing an instance of '<some_excpetion_class>'
崩溃并terminate called after throwing an instance of '<some_excpetion_class>'
。
我的扩展模块正在使用CGAL中的某些函数,它动态链接到该函数,并引发异常。 它还动态链接到boost_python共享库。 我在linux上。 它用'-std=c++11'
编写,我更喜欢用clang
编译。
我的第一个想法是,这是跨共享库边界引发异常的问题。 但是,我做了我能想到的一切来解决该问题,并暗示与此无关:
有什么想法吗?
找到了原因,这与boost-python或共享库都没有关系:
从析构函数抛出CGAL代码,这导致程序终止。 另请参阅: 从析构函数中抛出异常 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.