python如何利用traceback获取详细的异常信息


Posted in Python onJune 05, 2021

除了使用 sys.exc_info() 方法获取更多的异常信息之外,还可以使用 traceback 模块,该模块可以用来查看异常的传播轨迹,追踪异常触发的源头。

try:  
    1/0  
except Exception,e:  
    print e

输出结果是integer division or modulo by zero,只知道是报了这个错,但是却不知道在哪个文件哪个函数哪一行报的错。

下面使用traceback模块

traceback是python中用来跟踪异常信息的模块,方便把程序中的运行异常打印或者保存下来做异常分析。

官方参考文档如下

https://docs.python.org/2/library/traceback.html

常见用法

try:
  doSomething()
except:
  traceback.print_exc()
  # logging.error(str(traceback.format_exc()))

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

输出结果是

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

这样非常直观有利于调试。

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('tb.txt','w+'))

写入到tb.txt文件去。

总结

到此这篇关于python如何利用traceback获取详细异常信息的文章就介绍到这了,更多相关python traceback获取异常内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
pygame学习笔记(6):完成一个简单的游戏
Apr 15 Python
Python 结巴分词实现关键词抽取分析
Oct 21 Python
利用python为运维人员写一个监控脚本
Mar 25 Python
python os.path模块常用方法实例详解
Sep 16 Python
Python OpenCV读取png图像转成jpg图像存储的方法
Oct 28 Python
selenium使用chrome浏览器测试(附chromedriver与chrome的对应关系表)
Nov 29 Python
python3.6+django2.0+mysql搭建网站过程详解
Jul 24 Python
python+openCV调用摄像头拍摄和处理图片的实现
Aug 06 Python
Python+AutoIt实现界面工具开发过程详解
Aug 07 Python
python实现Oracle查询分组的方法示例
Apr 30 Python
python简单利用字典破解zip文件口令
Sep 07 Python
pycharm使用技巧之自动调整代码格式总结
Nov 04 Python
Python异常类型以及处理方法汇总
Jun 05 #Python
Python OpenCV 彩色与灰度图像的转换实现
Python深度学习之实现卷积神经网络
python opencv通过4坐标剪裁图片
Jun 05 #Python
Python还能这么玩之只用30行代码从excel提取个人值班表
Jun 05 #Python
拒绝盗图!教你怎么用python给图片加水印
python四个坐标点对图片区域最小外接矩形进行裁剪
You might like
用穿越火线快速入门php面向对象
2012/02/22 PHP
php调用MySQL存储过程的方法集合(推荐)
2013/07/03 PHP
php5.4以下版本json不支持不转义内容中文的解决方法
2015/01/13 PHP
再推荐十款免费的php开发工具
2015/11/09 PHP
php微信公众号开发之关键词回复
2018/10/20 PHP
PHP addslashes()函数讲解
2019/02/03 PHP
基于ThinkPHP5框架使用QueryList爬取并存入mysql数据库操作示例
2019/05/25 PHP
解决laravel上传图片之后,目录有图片,但是访问不到(404)的问题
2019/10/14 PHP
一个cssQuery对象 javascript脚本实现代码
2009/07/21 Javascript
js 实现在离开页面时提醒未保存的信息(减少用户重复操作)
2013/01/16 Javascript
javascript数据结构与算法之检索算法
2015/04/04 Javascript
聊聊JavaScript如何实现继承及特点
2017/04/07 Javascript
值得收藏的vuejs安装教程
2017/11/21 Javascript
AngularJS 事件发布机制
2018/08/28 Javascript
浅谈Vue.use的使用
2018/08/29 Javascript
Javascript读写cookie的实例源码
2019/03/16 Javascript
node.js 基于cheerio的爬虫工具的实现(需要登录权限的爬虫工具)
2019/04/10 Javascript
详解如何理解vue的key属性
2019/04/14 Javascript
浅谈layui数据表格判断问题(加入表单元素),设置单元格样式
2019/10/26 Javascript
浅谈vue权限管理实现及流程
2020/04/23 Javascript
10款最好的Web开发的 Python 框架
2015/03/18 Python
在Django中使用Sitemap的方法讲解
2015/07/22 Python
Python实现完整的事务操作示例
2017/06/20 Python
django Admin文档生成器使用详解
2019/07/22 Python
python flask几分钟实现web服务的例子
2019/07/26 Python
利用Python检测URL状态
2019/07/31 Python
Python中 CSV格式清洗与转换的实例代码
2019/08/29 Python
Python requests模块session代码实例
2020/04/14 Python
PyQt5 控件字体样式等设置的实现
2020/05/13 Python
python 实现逻辑回归
2020/12/30 Python
CSS3 Flexbox中flex-shrink属性的用法示例介绍
2013/12/30 HTML / CSS
荷兰牛仔裤网上商店:Jeans Centre
2018/04/03 全球购物
师范生自荐信
2013/10/27 职场文书
高三政治教学反思
2014/02/06 职场文书
乡镇办公室工作决心书
2014/03/11 职场文书
维稳工作情况汇报
2014/10/27 职场文书