python - Python 中的回溯对象类型是什么?

标签 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

Python 用于异常报告的回溯对象的类型到底是什么?

sys.exc_info 上的文档提到引用手册,但是虽然我找到了大量关于如何操作回溯实例的信息,但我希望能够访问类型(类)本身。

最佳答案

traceback 对象是 TracebackType 的一个实例存在于类型模块下。

types.TracebackType

The type of traceback objects such as found in sys.exc_info()[2].

>>> from types import TracebackType    
>>> isinstance(info[2], TracebackType)
True    
>>> TracebackType
<class 'traceback'>

作为pointed out by @user2357112名称 TracebackType 基本上是内部 traceback 类型的别名并且是 set by raising an exception在类型模块中。实际traceback type可以在 CPython 代码中找到。

关于python - Python 中的回溯对象类型是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45337853/

相关文章:

python - 二维数组每一列的外积形成一个三维数组 - NumPy

python - 确认图像已发布到 ROS

python - 捕获异常时,如何获取类型、文件和行号?

javascript - 注入(inject)的 Javascript 错误(Python Web Scraper)

Python 只打印最后一个回溯?

python - 无法在 WinPython : "ModuleNotFoundError: No module named ' semver'"上安装 spaCy

python - 有人可以帮助我找出我的代码中的错误吗?

c++ - 在 C++ 析构函数中发生异常时,是否所有属性都自动销毁

delphi - 使用 Delphi 自动化 VideoLan 的 VLC

java - 如何抛出EmptyResultDataAccessException?