首页 > 编程语言 > 详细

python-异常处理 traceback获取详细异常

时间:2020-06-11 11:41:32      阅读:24      评论:0      收藏:0      [点我收藏+]

直接来几个简单的栗子:

try:
100/0
except Exception as err:
print(err)

输出结果:

division by zero

 只知道是报了这个错,却不知道在哪个文件哪个函数哪一行报的错。

 

使用 traceback 模块

import traceback  
try:  
    100/0  
except Exception,e:  
    traceback.print_exc()  

 

输出结果:

Traceback (most recent call last):
File "D:/code/www/jiaoben/test/test1.py", line 3, in <module>
100/0
ZeroDivisionError: division by zero

 这样就非常nice了,可以很清楚的看出哪个文件哪个函数哪一行报的错.也方便调试。

 

traceback.print_exc()函数 是 traceback.print_exception()函数 的一个简写形式,而它们获取异常相关的数据都是通过sys.exc_info()函数得到的。

 

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(‘test.txt‘,‘w+‘))
写入到test.txt文件中。

 

python-异常处理 traceback获取详细异常

原文:https://www.cnblogs.com/longpy/p/13091835.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!