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中获取对象信息的方法
Apr 27 Python
python实现发送邮件功能
Jul 22 Python
Python解决N阶台阶走法问题的方法分析
Dec 28 Python
python3下使用cv2.imwrite存储带有中文路径图片的方法
May 10 Python
python最长回文串算法
Jun 04 Python
python开启摄像头以及深度学习实现目标检测方法
Aug 03 Python
简单了解python关系(比较)运算符
Jul 08 Python
如何利用Python开发一个简单的猜数字游戏
Sep 22 Python
python单向循环链表原理与实现方法示例
Dec 03 Python
python解析多层json操作示例
Dec 30 Python
Django中的DateTimeField和DateField实现
Feb 24 Python
4种非常实用的python内置数据结构
Apr 28 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
2021年最新CPU天梯图
2021/03/04 数码科技
深入理解php的MySQL连接类
2013/06/07 PHP
解析MySql与Java的时间类型
2013/06/22 PHP
php将url地址转化为完整的a标签链接代码(php为url地址添加a标签)
2014/01/17 PHP
CodeIgniter实现更改view文件夹路径的方法
2014/07/04 PHP
ThinkPHP设置禁止百度等搜索引擎转码(简单实用)
2016/02/15 PHP
使用Js让Html中特殊字符不被转义
2013/11/05 Javascript
谷歌浏览器调试JavaScript小技巧
2014/12/29 Javascript
Javascript中数组sort和reverse用法分析
2014/12/30 Javascript
JS判断客服QQ号在线还是离线状态的方法
2015/01/13 Javascript
jquery中ajax使用error调试错误的方法
2015/02/08 Javascript
javascript实现密码验证
2015/11/10 Javascript
JS根据生日月份和日期计算星座的简单实现方法
2016/11/24 Javascript
通过BootStrap-select插件 js jQuery控制select属性变化
2017/01/03 Javascript
Bootstrap笔记之缩略图、警告框实例详解
2017/03/09 Javascript
laravel5.4+vue+element简单搭建的示例代码
2017/08/29 Javascript
js实现鼠标跟随运动效果
2020/08/02 Javascript
浅谈react受控组件与非受控组件(小结)
2018/02/09 Javascript
用npm安装vue和vue-cli,并使用webpack创建项目的方法
2018/09/28 Javascript
Python中Threading用法详解
2017/12/27 Python
windows10下python3.5 pip3安装图文教程
2018/04/02 Python
Python 数据库操作 SQLAlchemy的示例代码
2019/02/18 Python
Pytorch中的VGG实现修改最后一层FC
2020/01/15 Python
Python tkinter布局与按钮间距设置方式
2020/03/04 Python
基于Django快速集成Echarts代码示例
2020/12/01 Python
Html5新标签解释及用法
2012/02/17 HTML / CSS
HTML5组件Canvas实现图像灰度化(步骤+实例效果)
2013/04/22 HTML / CSS
赫里福德的一家乡村零售商店:Philip Morris & Son
2017/06/25 全球购物
瑞士领先的网上超市:LeShop.ch
2018/11/14 全球购物
家庭教育先进个人事迹材料
2014/01/24 职场文书
上班玩游戏检讨书
2014/02/07 职场文书
项目总经理岗位职责
2014/02/14 职场文书
竞选班干部演讲稿500字
2014/08/20 职场文书
党员干部观看《周恩来四个昼夜》思想汇报
2014/09/10 职场文书
治庸问责心得体会
2014/09/12 职场文书
车间质检员岗位职责
2015/04/08 职场文书