我注意到,在Python2中,当我尝试转储异常堆栈跟踪,但没有活动异常时,它会输出None
Python 2.7.2+ (default, Oct 4 2011, 20:06:09)
>>> import traceback
>>> traceback.print_exc()
None但是由于一些内部问题,Python3失败了:
Python 3.2.2 (default, Sep 5 2011, 21:17:14)
>>> import traceback
>>> traceback.print_exc()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python3.2/traceback.py", line 259, in print_exc
print_exception(etype, value, tb, limit, file, chain)
File "/usr/lib/python3.2/traceback.py", line 155, in print_exception
for value, tb in values:
File "/usr/lib/python3.2/traceback.py", line 122, in _iter_chain
cause = exc.__cause__
AttributeError: 'NoneType' object has no attribute '__cause__'这是Python语言中的一个错误吗?还是应该在调用print_exc()之前总是测试一些条件
发布于 2012-02-23 14:26:32
That is a bug。可能会决定应该引发错误,但这绝对是错误的错误。
https://stackoverflow.com/questions/9403986
复制相似问题