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中os操作文件及文件路径实例汇总
Jan 15 Python
使用python实现正则匹配检索远端FTP目录下的文件
Mar 25 Python
浅谈Python中的闭包
Jul 08 Python
Python连接phoenix的方法示例
Sep 29 Python
浅谈python下tiff图像的读取和保存方法
Dec 04 Python
python3实现zabbix告警推送钉钉的示例
Feb 20 Python
Python如何爬取微信公众号文章和评论(基于 Fiddler 抓包分析)
Jun 28 Python
Python 二叉树的层序建立与三种遍历实现详解
Jul 29 Python
python 多进程共享全局变量之Manager()详解
Aug 15 Python
python函数不定长参数使用方法解析
Dec 14 Python
python从内存地址上加载python对象过程详解
Jan 08 Python
Python3如何使用多线程升程序运行速度
Aug 11 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 读取文件的正确方法
2009/04/29 PHP
关于php中一些字符串总结
2016/05/05 PHP
Thinkphp框架中D方法与M方法的区别
2016/12/23 PHP
JavaScript函数、方法、对象代码
2008/10/29 Javascript
基于jquery的无限级联下拉框js插件
2011/10/29 Javascript
jquery 表格的增行删行实现思路
2013/03/21 Javascript
JS实现切换标签页效果实例代码
2013/11/01 Javascript
jQuery子窗体取得父窗体元素的方法
2015/05/11 Javascript
JavaScript AOP编程实例
2015/06/16 Javascript
JavaScript开发者必备的10个Sublime Text插件
2016/02/27 Javascript
AngularJS基础 ng-model 指令详解及示例代码
2016/08/02 Javascript
原生JS轮播图插件
2017/02/09 Javascript
jQuery Ajax全解析
2017/02/13 Javascript
JS实现json的序列化和反序列化功能示例
2017/06/13 Javascript
vue实现添加与删除图书功能
2018/10/07 Javascript
微信小程序如何利用getCurrentPages进行页面传值
2019/07/01 Javascript
微信小程序在线客服自动回复功能(基于node)
2019/07/03 Javascript
JavaScript实现滚动加载更多
2020/12/27 Javascript
[30:51]DOTA2上海特级锦标赛主赛事日 - 3 胜者组第二轮#1Liquid VS MVP.Phx第一局
2016/03/04 DOTA
[11:33]DAC2018 4.5SOLO赛决赛 MidOne vs Paparazi第二场
2018/04/06 DOTA
Python+Django在windows下的开发环境配置图解
2009/11/11 Python
Python上传package到Pypi(代码简单)
2016/02/06 Python
Python实现读取txt文件并转换为excel的方法示例
2018/05/17 Python
python之文件读取一行一行的方法
2018/07/12 Python
Python中函数参数匹配模型详解
2019/06/09 Python
Python算法的时间复杂度和空间复杂度(实例解析)
2019/11/19 Python
关于python 跨域处理方式详解
2020/03/28 Python
tensorflow pb to tflite 精度下降详解
2020/05/25 Python
使用Keras 实现查看model weights .h5 文件的内容
2020/06/09 Python
scrapy结合selenium解析动态页面的实现
2020/09/28 Python
详解Canvas 跨域脱坑实践
2018/11/07 HTML / CSS
2014年母亲节寄语
2014/05/07 职场文书
2014年采购员工作总结
2014/11/18 职场文书
小学家长意见怎么写
2015/06/03 职场文书
解决vue自定义组件@click点击失效问题
2022/04/30 Vue.js
Springboot中如何自动转JSON输出
2022/06/16 Java/Android