Python 输出详细的异常信息(traceback)方式


Posted in Python onApril 08, 2020

问题描述

为了程序的正常运行,进行异常处理是有必要的,甚至于有时候,我们会主动的抛出异常,然后让程序进行异常捕获,再进行进一步的处理。但是,在开发的程序相对较大的过程中,我们不能一昧的进行try....except。而是要弄清楚到底抛出的是什么异常,同时,对于某些未知的异常,我们应该清楚的定位到到底是哪一行程序抛出的异常,针对这种情况,traceback库能极大的帮助我们。

解决方法

代码只需一行,即 print(traceback.format_exc()) 即可,这样即可打印详细的信息,这个详细信息比你捕捉完异常打印args详细多了,详细到具体第几行,如果你在一个大型程序里,需要定位错误,那么,traceback是十分好用的:

Python 输出详细的异常信息(traceback)方式

可以清楚的看到 ‘=' 号上方和下方打印的异常详细程度是不同的。

我们还可以通过traceback,获得异常的名称,用于根据异常名称进行异常捕获,例如,我们直接运行一段程序,并没有打印出来异常的名字,这样我们无法通过异常名对异常进行捕获,因此,我们可以通过traceback获得异常名:

Python 输出详细的异常信息(traceback)方式

如上图,我们无法获得异常名,下图展示traceback获得异常名:

Python 输出详细的异常信息(traceback)方式

从上图我们可以看到,我们无法通过args获取异常名,但是可以通过traceback获取

补充知识:python 输出完成异常信息

如下所示:

import traceback
 
try:
  1/0
exception:
  traceback.print_exc()

traceback.print_exc() 直接打印异常

traceback.format_exc()返回字符串

print_exc() 还可以接受file参数直接写入到一个文件

还可以将信息写入到文件

traceback.print_exc(file=open(‘error.txt','a+'))

以上这篇Python 输出详细的异常信息(traceback)方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python 冒泡,选择,插入排序使用实例
Feb 05 Python
python登录pop3邮件服务器接收邮件的方法
Apr 30 Python
python 根据正则表达式提取指定的内容实例详解
Dec 04 Python
python 实时得到cpu和内存的使用情况方法
Jun 11 Python
python获取命令行输入参数列表的实例代码
Jun 23 Python
Python使用logging模块实现打印log到指定文件的方法
Sep 05 Python
python组合无重复三位数的实例
Nov 13 Python
python pip源配置,pip配置文件存放位置的方法
Jul 12 Python
Python实现元素等待代码实例
Nov 11 Python
pytorch中torch.max和Tensor.view函数用法详解
Jan 03 Python
使用pytorch和torchtext进行文本分类的实例
Jan 08 Python
pycharm2020.1.2永久破解激活教程,实测有效
Oct 29 Python
python上传时包含boundary时的解决方法
Apr 08 #Python
python MultipartEncoder传输zip文件实例
Apr 07 #Python
xadmin使用formfield_for_dbfield函数过滤下拉表单实例
Apr 07 #Python
Xadmin+rules实现多选行权限方式(级联效果)
Apr 07 #Python
Django Xadmin多对多字段过滤实例
Apr 07 #Python
解决Django部署设置Debug=False时xadmin后台管理系统样式丢失
Apr 07 #Python
解决Python中报错TypeError: must be str, not bytes问题
Apr 07 #Python
You might like
Yii框架获取当前controlle和action对应id的方法
2014/12/03 PHP
PHP常见字符串处理函数用法示例【转换,转义,截取,比较,查找,反转,切割】
2016/12/24 PHP
在Laravel中使用DataTables插件的方法
2018/05/29 PHP
Thinkphp 框架扩展之类库扩展操作详解
2020/04/23 PHP
用javascript动态调整iframe高度的代码
2007/04/10 Javascript
20个非常有用的PHP类库 加速php开发
2010/01/15 Javascript
解析ScrollPic在ie8下只滚动一遍,然后变为空白 ie6,ie7,chrome,firefox正常
2013/06/26 Javascript
轻松创建nodejs服务器(10):处理POST请求
2014/12/18 NodeJs
JQuery使用index方法获取Jquery对象数组下标的方法
2015/05/18 Javascript
基于JavaScript实现弹出框效果
2016/02/19 Javascript
jQuery获取当前点击的对象元素(实现代码)
2016/05/19 Javascript
js倒计时显示实例
2016/12/11 Javascript
用js制作淘宝放大镜效果
2020/10/28 Javascript
Node连接mysql数据库方法介绍
2017/02/07 Javascript
angular写一个列表的选择全选交互组件的示例
2018/01/22 Javascript
Bootstrap实现可折叠分组侧边导航菜单
2018/03/07 Javascript
vue环形进度条组件实例应用
2018/10/10 Javascript
vue拖拽组件使用方法详解
2018/12/01 Javascript
js函数和this用法实例分析
2020/03/13 Javascript
Python中正则表达式的详细教程
2015/04/30 Python
Django中使用group_by的方法
2015/05/26 Python
python切片(获取一个子列表(数组))详解
2019/08/09 Python
Django对models里的objects的使用详解
2019/08/17 Python
python ubplot使用方法解析
2020/01/10 Python
python用TensorFlow做图像识别的实现
2020/04/21 Python
opencv python 图片读取与显示图片窗口未响应问题的解决
2020/04/24 Python
HTML5自定义data-* data(obj)属性和jquery的data()方法的使用
2012/12/13 HTML / CSS
HTML5学习笔记之History API
2015/02/26 HTML / CSS
澳大利亚领先的男装零售连锁店:Lowes
2020/08/07 全球购物
成功的酒店创业计划书
2013/12/27 职场文书
创先争优标语
2014/06/27 职场文书
财务工作疏忽检讨书
2014/09/11 职场文书
民间借贷被告代理词
2015/05/23 职场文书
行政处罚决定书
2015/06/24 职场文书
2015年学校办公室主任工作总结
2015/07/20 职场文书
FP-growth算法发现频繁项集——发现频繁项集
2021/06/24 Python