Noa*_*oah 5 python exception traceback
import sys
try:
raise Exception('foobar')
except:
info = sys.exc_info()
print(type(e[2])) # <class 'traceback'>
help(traceback) # NameError: name 'traceback' is not defined
Run Code Online (Sandbox Code Playgroud)
Python用于异常报告的回溯对象的类型究竟是什么?
sys.exc_info上的文档提到了参考手册,但是虽然我发现了很多关于如何操作回溯实例的信息,但我希望能够访问类型(类)本身.
tracebackobject是TracebackType类型模块下的当前实例.
types.TracebackType在...
traceback中找到的对象类型sys.exc_info()[2].
>>> from types import TracebackType
>>> isinstance(info[2], TracebackType)
True
>>> TracebackType
<class 'traceback'>
Run Code Online (Sandbox Code Playgroud)
正如@ user2357112所指出的,该名称TracebackType基本上是内部traceback类型的别名,并通过在types模块中引发异常来设置.实际traceback类型可以在CPython代码中找到.