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 文件处理注意事项总结
Apr 10 Python
Python内建函数之raw_input()与input()代码解析
Oct 26 Python
Python numpy实现二维数组和一维数组拼接的方法
Jun 05 Python
Django跨域请求问题的解决方法示例
Jun 16 Python
flask中过滤器的使用详解
Aug 01 Python
局域网内python socket实现windows与linux间的消息传送
Apr 19 Python
Django中的静态文件管理过程解析
Aug 01 Python
python取均匀不重复的随机数方式
Nov 27 Python
pytorch 实现模型不同层设置不同的学习率方式
Jan 06 Python
python爬虫开发之selenium模块详细使用方法与实例全解
Mar 09 Python
Python PyQt5整理介绍
Apr 01 Python
Python sklearn中的.fit与.predict的用法说明
Jun 28 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 isset()与empty()的使用区别详解
2010/08/29 PHP
php中隐形字符65279(utf-8的BOM头)问题
2014/08/16 PHP
php验证邮箱和ip地址最简单方法汇总
2015/10/30 PHP
php正则表达式学习笔记
2015/11/13 PHP
php使用QueryList轻松采集js动态渲染页面方法
2018/09/11 PHP
JS宝典学习笔记(下)
2007/01/10 Javascript
JavaScript 学习笔记一些小技巧
2010/03/28 Javascript
javascript 进阶篇3 Ajax 、JSON、 Prototype介绍
2012/03/14 Javascript
一个简单的jquery进度条示例
2014/04/28 Javascript
Javascript中arguments和arguments.callee的区别浅析
2015/04/24 Javascript
jquery插件jquery.nicescroll实现图片无滚动条左右拖拽的方法
2015/08/10 Javascript
js淡入淡出焦点图幻灯片效果代码分享
2015/09/08 Javascript
js检查是否关闭浏览器的方法
2016/08/02 Javascript
如何使用Bootstrap 按钮实例详解
2017/03/29 Javascript
什么是Vue.js框架 为什么选择它?
2017/10/17 Javascript
刷新页面后让控制台的js代码继续执行
2019/09/20 Javascript
vue data引入本地图片的两种方式小结
2019/11/13 Javascript
vue实现PC端分辨率适配操作
2020/08/03 Javascript
python使用Flask框架获取用户IP地址的方法
2015/03/21 Python
举例讲解Django中数据模型访问外键值的方法
2015/07/21 Python
Django中使用CORS实现跨域请求过程解析
2019/08/05 Python
在Python中等距取出一个数组其中n个数的实现方式
2019/11/27 Python
Python控制台实现交互式环境执行
2020/06/09 Python
如何基于python把文字图片写入word文档
2020/07/31 Python
python ssh 执行shell命令的示例
2020/09/29 Python
Python-openpyxl表格读取写入的案例详解
2020/11/02 Python
浅谈Html5移动端ios/Android兼容性总结
2018/06/01 HTML / CSS
马来西亚网上购物平台:ezbuy
2018/02/13 全球购物
BudgetAir印度:预订航班、酒店和汽车租赁
2019/07/07 全球购物
Windows和Linux动态库应用异同
2016/07/28 面试题
如何利用cmp命令比较文件
2013/09/23 面试题
高三毕业生自我鉴定
2013/12/20 职场文书
食品厂厂长岗位职责
2014/01/30 职场文书
九年级语文教学反思
2014/02/04 职场文书
《争吵》教学反思
2014/02/15 职场文书
中韩经贸翻译专业大学生职业生涯规划范文
2014/09/18 职场文书