3

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

4

1 回答 1

3

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

于 2010-05-16T14:36:13.540 回答