为什么用traceback?
写代码过程中如果有错误,代码会中断,直接在控制台显示错误信息。如果不想代码执行过程中被中断,就要加异常判断try…except…
在异常判断try…except…中如果只是print(e),显示的报错信息很少,不知道是哪个函数哪一行出现的错误,排查困难。
这时候就用到traceback了,不但提供报错函数,而且显示报错行数,一下就能定位到问题。
那么问题来了,traceback.print_exc()跟traceback.format_exc()有什么区别呢?
format_exc()返回字符串,print_exc()则直接给打印出来。
即traceback.print_exc()与print traceback.format_exc()效果是一样的。
print_exc()还可以接受file参数直接写入到一个文件。比如
traceback.print_exc(file=open(‘error.txt’,’w+’))
写入到error.txt文件去。