python的异常处理
1. 使用traceback模块
异常处理是日常操作了,但是有时候不能只能打印我们处理的结果,还需要将我们的异常打印出来,这样更直观的显示错误
下面来介绍traceback模块来进行处理,
try:
1/0
except Exception, e:
print e
输出的结果是:
integer division or modulo by zero
但是只有这个错误, 但是不知道到底是哪一行报错的, 这个时候我们可以使用traceback模块
import traceback
try:
1/0
except Exception, e:
traceback.print_exc()
输出的结果:
Traceback (most recent call last):
File "<stdin>", line 2, in <module>
ZeroDivisionError: integer division or modulo by zero
这样的异常结果就更加容易调试
2. format_exc()和print_exc()两个函数的区别
- format_exc() 函数的返回值是一个字符串
- print_exc(file=None) 函数是直接把异常的结果打印出来, 也支持写入到文件中
traceback.print_exc()与print format_exc()的效果是一样的
注意: traceback.print_exc(file=open('test.txt', 'w+')) print_exc把错误信息写入到test.txt中