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 相关文章推荐
python 实现归并排序算法
Jun 05 Python
python+matplotlib绘制简单的海豚(顶点和节点的操作)
Jan 02 Python
pycharm配置pyqt5-tools开发环境的方法步骤
Feb 11 Python
Python3实现计算两个数组的交集算法示例
Apr 03 Python
python实现统计文本中单词出现的频率详解
May 20 Python
python 将字符串完成特定的向右移动方法
Jun 11 Python
Python当中的array数组对象实例详解
Jun 12 Python
Python求离散序列导数的示例
Jul 10 Python
python cv2截取不规则区域图片实例
Dec 21 Python
如何在Python项目中引入日志
May 31 Python
Python制作动态字符画的源码
Aug 04 Python
聊聊基于pytorch实现Resnet对本地数据集的训练问题
Mar 25 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 读取Postgresql中的数组
2013/04/14 PHP
WordPress开发中短代码的实现及相关函数使用技巧
2016/01/05 PHP
浅谈PHP定义命令空间的几个注意点(推荐)
2016/10/29 PHP
ThinkPHP实现简单登陆功能
2017/04/28 PHP
PHP在同一域名下两个不同的项目做独立登录机制详解
2017/09/22 PHP
thinkPHP框架实现的无限回复评论功能示例
2018/06/09 PHP
prototype与jquery下Ajax实现的差别
2009/09/13 Javascript
基于jQuery的简单九宫格实现代码
2012/08/09 Javascript
js multiple全选与取消全选实现代码
2012/12/04 Javascript
JQuery操作tr和td内容的方法实例
2013/03/06 Javascript
httpclient模拟登陆具体实现(使用js设置cookie)
2013/12/11 Javascript
javascript实现的平方米、亩、公顷单位换算小程序
2014/08/11 Javascript
javascript字符串替换函数如何一次性全部替换掉
2015/10/30 Javascript
node.js入门实例helloworld详解
2015/12/23 Javascript
bootstrap的3级菜单样式,支持母版页保留打开状态实现方法
2016/11/10 Javascript
快速理解 JavaScript 中的 LHS 和 RHS 查询的用法
2017/08/24 Javascript
详解NODEJS基于FFMPEG视频推流测试
2017/11/17 NodeJs
JS实现的视频弹幕效果示例
2018/08/17 Javascript
使用vue.js在页面内组件监听scroll事件的方法
2018/09/11 Javascript
Vue中使用方法、计算属性或观察者的方法实例详解
2018/10/31 Javascript
js canvas实现二维码和图片合成的海报
2020/11/19 Javascript
小程序rich-text组件如何改变内部img图片样式的方法
2019/05/22 Javascript
理解Proxy及使用Proxy实现vue数据双向绑定操作
2020/07/18 Javascript
理解JavaScript中的对象
2020/08/25 Javascript
javascript实现点击按钮切换轮播图功能
2020/09/23 Javascript
在python的WEB框架Flask中使用多个配置文件的解决方法
2014/04/18 Python
Python 数据结构之队列的实现
2017/01/22 Python
Django admin组件的使用
2020/10/24 Python
Python 调用 ES、Solr、Phoenix的示例代码
2020/11/23 Python
美国眼镜在线零售商:Dualens
2019/12/07 全球购物
办理信用卡工作证明
2014/01/11 职场文书
秋季运动会通讯稿
2014/01/24 职场文书
街道务虚会发言材料
2014/10/20 职场文书
浅谈MySQL user权限表
2021/06/18 MySQL
使用CSS实现黑白格背景效果
2022/06/01 HTML / CSS
Nginx报错104:Connection reset by peer问题的解决及分析
2022/07/23 Servers