如何捕获ctypes中抛出的异常?

时间:2010-05-16 14:32:58

标签: python exception exception-handling ctypes abort

我正在使用ctypes从Python调用的一些C代码。在C库的内部某处,正在发生异常和/或正在调用abort()。有什么方法可以在我的Python调用者代码中捕获这个吗? (平台是Linux)

1 个答案:

答案 0 :(得分:3)

您可以在SIGABRT上设置信号处理程序来处理由abort()引起的信号。 然而,失败的断言可能伴随着损坏的内存和其他坏事 - 这通常是断言失败的原因。因此,通常终止应用程序是您可以做的最好的事情(除了在终止之前在处理程序中显示/记录错误)。