在 Python 2.x 中,传递给settrace
处理程序的框架对象有一个f_exc_type
属性。
在 Python 3.x 中,这f_exc_type
已被删除。
如果函数正在传播异常,则调用跟踪“return”,但参数 isNone
和sys.exc_info()
is (None,None,None)
。这在文档中有所描述:
[return]
一个函数(或其他代码块)即将返回。调用本地跟踪函数;arg 是将返回的值,如果事件是由引发的异常引起的,则返回 None。跟踪函数的返回值被忽略。
在 Python 3 中,跟踪器如何在return
挂钩中确定正在传播异常?它如何与正常返回的函数区分开来None
?