void PyErr_Clear()
属于 稳定 ABI.
清除错误指示器。如果没有设置错误指示器,则不会有作用。
void PyErr_PrintEx(int set_sys_last_vars)
属于 稳定 ABI.
将标准回溯打印到 sys.stderr 并清除错误指示器。除非 错误是 SystemExit,这种情况下不会打印回溯进程,且会退出 Python 进程,并显示 SystemExit 实例指定的错误代码。
只有在错误指示器被设置时才需要调用这个函数,否则这会导致错误!
如果 set_sys_last_vars 为非零值,则变量 sys.last_exc 将被设为要打印的异常。 出于向下兼容性考虑,已弃用的变量 sys.last_type, sys.last_value 和 sys.last_traceback 也会被分别设为该异常的类型, 值和回溯。
在 3.12 版本发生变更: 增加了对 sys.last_exc 的设置。
void PyErr_Print()
属于 稳定 ABI.
PyErr_PrintEx(1) 的别名。
void PyErr_WriteUnraisable(PyObject *obj)
属于 稳定 ABI.
使用当前异常和 obj 参数调用 sys.unraisablehook()。
当异常已被设置但解释器不可能实际引发该异常时,这个工具函数会向 sys.stderr 打印一条警告消息。 例如,当异常发生在 __del__() 方法中时就会使用该函数。
该函数调用时将传入单个参数 obj,它标识发生不可引发的异常所在的上下文。 如果可能,obj 的表示形式将打印在警告消息中。 如果 obj 为 NULL,将只打印回溯。
调用此函数时必须设置一个异常。
在 3.4 版本发生变更: 打印回溯信息。 如果 obj 为 NULL 将只打印回溯。
在 3.8 版本发生变更: 使用 sys.unraisablehook()。
void PyErr_DisplayException(PyObject *exc)
属于 稳定 ABI 自 3.12 版开始.
将 exc 的标准回溯显示打印到 sys.stderr,包括链式异常和注释。
在 3.12 版本加入. |