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中使用异步Socket编程性能测试
Jun 25 Python
为Python程序添加图形化界面的教程
Apr 29 Python
Python探索之URL Dispatcher实例详解
Oct 28 Python
Python使用re模块实现信息筛选的方法
Apr 29 Python
python ddt数据驱动最简实例代码
Feb 22 Python
Django框架首页和登录页分离操作示例
May 28 Python
python版DDOS攻击脚本
Jun 12 Python
python实现监控阿里云账户余额功能
Dec 16 Python
python两个_多个字典合并相加的实例代码
Dec 26 Python
python中 _、__、__xx__()区别及使用场景
Jun 30 Python
pytorch随机采样操作SubsetRandomSampler()
Jul 07 Python
python基于turtle绘制几何图形
Jun 15 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
第十五节--Zend引擎的发展
2006/11/16 PHP
PHP读MYSQL中文乱码的解决方法
2006/12/17 PHP
开源php中文分词系统SCWS安装和使用实例
2014/04/11 PHP
Yii中CGridView关联表搜索排序方法实例详解
2014/12/03 PHP
PHP cURL初始化和执行方法入门级代码
2015/05/28 PHP
简单介绍win7下搭建apache+php+mysql开发环境
2015/08/06 PHP
php封装一个异常的处理类
2017/06/08 PHP
PHP Post获取不到非表单数据的问题解决办法
2018/02/27 PHP
thinkphp5使html5实现动态跳转的例子
2019/10/16 PHP
jQuery UI Autocomplete 1.8.16 中文输入修正代码
2012/04/16 Javascript
Raphael一个用于在网页中绘制矢量图形的Javascript库
2013/01/08 Javascript
将查询条件的input、select清空
2014/01/14 Javascript
javascript 动态创建表格
2015/01/08 Javascript
浅谈javascript面向对象程序设计
2015/01/21 Javascript
nodejs爬虫抓取数据之编码问题
2015/07/03 NodeJs
Angularjs 滚动加载更多数据
2016/03/17 Javascript
Node.js插件安装图文教程
2016/05/06 Javascript
jQuery基础知识点总结(DOM操作)
2016/06/01 Javascript
微信公众平台开发教程(四) 实例入门:机器人回复(附源码)
2016/12/02 Javascript
VUE中v-model和v-for指令详解
2017/06/23 Javascript
微信小程序实现简单跑马灯效果
2020/05/26 Javascript
原生JS实现动态添加新元素、删除元素方法
2019/05/05 Javascript
vue+element-ui+axios实现图片上传
2019/08/20 Javascript
微信浏览器左上角返回按钮监听的实现
2020/03/04 Javascript
Python实现批量更换指定目录下文件扩展名的方法
2016/09/19 Python
Python3 queue队列模块详细介绍
2018/01/05 Python
python批量修改图片后缀的方法(png到jpg)
2018/10/25 Python
python多进程间通信代码实例
2019/09/30 Python
Python sys模块常用方法解析
2020/02/20 Python
appium+python adb常用命令分享
2020/03/06 Python
css3给背景图片加颜色遮罩的方法
2019/11/05 HTML / CSS
HTML5有哪些新特征
2015/12/01 HTML / CSS
美国畅销的跑步机品牌:ProForm
2017/02/06 全球购物
zooplus德国:便宜地订购动物用品、动物饲料、动物食品
2020/05/06 全球购物
毕业生自荐求职信书写的技巧
2019/08/26 职场文书
JavaScript执行机制详细介绍
2021/12/06 Javascript