python – traceback.format_exc / print_exc在期待回溯时返回None

我无法弄清楚为什么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))

相关文章

功能概要:(目前已实现功能)公共展示部分:1.网站首页展示...
大体上把Python中的数据类型分为如下几类: Number(数字) ...
开发之前第一步,就是构造整个的项目结构。这就好比作一幅画...
源码编译方式安装Apache首先下载Apache源码压缩包,地址为ht...
前面说完了此项目的创建及数据模型设计的过程。如果未看过,...
python中常用的写爬虫的库有urllib2、requests,对于大多数比...