python traceback模块

如果我们再程序中写出一个会引发异常的代码,比如1/0,就会引发一个异常,程序中止。

输出:

Traceback (most recent call last):
  File "trackbacks.py", line 1, in <module>
    1/0
ZeroDivisionError: integer division or modulo by zero
Shell 已返回1

为了程序的健壮性,我们常常加入异常处理。

try:
    1/0
except:
    print "error"

这样,程序就会输出error后正常退出。那么为了能处理异常而又看见异常信息的话就要用到traceback模块了:

import traceback
try:
    1/0
except:
    print "error"
    print traceback.format_exc()

结果:

error
Traceback (most recent call last):
  File "trackbacks.py", line 4, in <module>
    1/0
ZeroDivisionError: integer division or modulo by zero

也可以把信息输出到文件中,具体看 http://docs.python.org/2/library/traceback.html