void Py_FatalError(const char *message)
属于 稳定 ABI.
打印一个致命错误消息并杀死进程。 不会执行任何清理。 此函数应当仅在检测到可能令继续使用 Python 解释器会有危险的情况时被发起调用;例如对象管理已被破坏的时候。 在 Unix 上,会调用标准 C 库函数 abort() 并将由它来尝试生成一个 core 文件。
The Py_FatalError() function is replaced with a macro which logs automatically the name of the current function, unless the Py_LIMITED_API macro is defined.
在 3.9 版本发生变更: 自动记录函数名称。
void Py_Exit(int status)
属于 稳定 ABI.
退出当前进程。 这将调用 Py_FinalizeEx() 然后再调用标准 C 库函数 exit(status)。 如果 Py_FinalizeEx() 提示错误,退出状态将被设为 120。
在 3.6 版本发生变更: 来自最终化的错误不会再被忽略。
int Py_AtExit(void (*func)())
属于 稳定 ABI.
注册一个由 Py_FinalizeEx() 调用的清理函数。 调用清理函数将不传入任何参数且不应返回任何值。 最多可以注册32 个清理函数。 当注册成功时,Py_AtExit() 将返回 0;失败时,它将返回 -1。 最后注册的清理函数会最先被调用。 每个清理函数将至多被调用一次。 由于 Python 的内部最终化将在清理函数之前完成,因此 Python API 不应被 func 调用。 |