我无法弄清楚为什么traceback.format_exc()在以下示例中返回“None”:
#!/usr/bin/env python
import sys
import traceback
def my_excepthook(type,value,tb):
print type.__name__
print value
# the problem: why does this return "None"?
print traceback.format_exc(tb) # see http://docs.python.org/library/traceback.html#traceback.format_exc
sys.excepthook = my_excepthook # see http://docs.python.org/library/sys.html#sys.excepthook
# some code to generate a naturalistic exception
a = "text"
b = 5
error = a + b
使用Python 2.7.1,我得到以下输出:
TypeError
cannot concatenate 'str' and 'int' objects
None
而不是第3行的“无”,我希望得到当我注释掉sys.excepthook行时会发生什么:
Traceback (most recent call last):
File "log-test.py",line 17,in
最佳答案
尝试在my_excepthook中更改为:
print "".join(traceback.format_exception(type,tb))
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。