如何从python代码中捕获嵌入式C ++模块中的exit()?

时间:2009-09-17 15:19:36

标签: python exception binding exit

我在我的python应用程序中嵌入了一个c ++库(用SIP完成绑定)。在某些情况下(错误情况),此库使用exit(),这会导致我的整个应用程序退出。 有没有办法捕获此事件,还是我需要修改库以不同方式处理错误情况?

非常感谢,

2 个答案:

答案 0 :(得分:6)

您必须修改库的来源。 C中没有“异常处理”,exit()在任何情况下都不会返回到调用代码。

答案 1 :(得分:0)

您可以覆盖与LD_LIBRARY_PATH链接的库并创建自己的退出函数。工作正常。