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中的应用之translate和maketrans用法详解
Aug 27 Python
python按照多个字符对字符串进行分割的方法
Mar 17 Python
python BeautifulSoup设置页面编码的方法
Apr 03 Python
Python base64编码解码实例
Jun 21 Python
python使用PyCharm进行远程开发和调试
Nov 02 Python
使用Python快速搭建HTTP服务和文件共享服务的实例讲解
Jun 04 Python
Python 获取ftp服务器文件时间的方法
Jul 02 Python
Python qqbot 实现qq机器人的示例代码
Jul 11 Python
详解django实现自定义manage命令的扩展
Aug 13 Python
Python 批量读取文件中指定字符的实现
Mar 06 Python
Pyspark读取parquet数据过程解析
Mar 27 Python
Python中猜拳游戏与猜筛子游戏的实现方法
Sep 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中图片等比缩放的实例
2013/03/24 PHP
php购物车实现方法
2015/01/03 PHP
php使用自带dom扩展进行元素匹配的原理解析
2020/05/29 PHP
使用JQuery和s3captche实现一个水果名字的验证
2009/08/14 Javascript
javascript类继承机制的原理分析
2009/09/12 Javascript
Javascript Function对象扩展之延时执行函数
2010/07/06 Javascript
仅IE不支持setTimeout/setInterval函数的第三个以上参数
2011/05/25 Javascript
DIV外区域Click后关闭DIV的实现代码
2011/12/21 Javascript
JS 添加千分位与去掉千分位的示例
2013/07/11 Javascript
javascript 弹出的窗口返回值给父窗口具体实现
2013/11/23 Javascript
JS中表单的使用小结
2014/01/11 Javascript
js数组的操作指南
2014/12/28 Javascript
JavaScript原型及原型链终极详解
2016/01/04 Javascript
分享jQuery插件的学习笔记
2016/01/14 Javascript
AngularJS bootstrap启动详解及实例代码
2016/09/14 Javascript
基于element-ui的rules中正则表达式
2018/09/04 Javascript
mpvue实现小程序签到金币掉落动画(api实现)
2019/10/17 Javascript
React实现类似淘宝tab居中切换效果的示例代码
2020/06/02 Javascript
Python爬虫获取图片并下载保存至本地的实例
2018/06/01 Python
替换python字典中的key值方法
2018/07/06 Python
tensorflow 用矩阵运算替换for循环 用tf.tile而不写for的方法
2018/07/27 Python
ERLANG和PYTHON互通实现过程详解
2019/07/05 Python
利用Pandas和Numpy按时间戳将数据以Groupby方式分组
2019/07/22 Python
python打包成so文件过程解析
2019/09/28 Python
THE OUTNET美国官网:国际设计师品牌折扣网站
2017/03/07 全球购物
印尼美容产品购物网站:PerfectBeauty.id
2017/12/01 全球购物
20世纪40年代连衣裙和复古服装:The Seamstress Of Bloomsbury
2018/07/24 全球购物
Ray-Ban雷朋太阳眼镜英国官网:Ray-Ban UK
2019/11/23 全球购物
食品采购员岗位职责
2014/04/14 职场文书
2015年母亲节活动策划方案
2015/05/04 职场文书
退货证明模板
2015/06/23 职场文书
七夕情人节问候语
2015/11/11 职场文书
小学班主任心得体会
2016/01/07 职场文书
原生JS封装vue Tab切换效果
2021/04/28 Vue.js
Pandas||过滤缺失数据||pd.dropna()函数的用法说明
2021/05/14 Python
php+laravel 扫码二维码签到功能
2021/05/15 PHP