Python 输出详细的异常信息(traceback)方式
作者:GodLordGee 时间:2023-01-17 11:43:48
问题描述
为了程序的正常运行,进行异常处理是有必要的,甚至于有时候,我们会主动的抛出异常,然后让程序进行异常捕获,再进行进一步的处理。但是,在开发的程序相对较大的过程中,我们不能一昧的进行try....except。而是要弄清楚到底抛出的是什么异常,同时,对于某些未知的异常,我们应该清楚的定位到到底是哪一行程序抛出的异常,针对这种情况,traceback库能极大的帮助我们。
解决方法
代码只需一行,即 print(traceback.format_exc()) 即可,这样即可打印详细的信息,这个详细信息比你捕捉完异常打印args详细多了,详细到具体第几行,如果你在一个大型程序里,需要定位错误,那么,traceback是十分好用的:
可以清楚的看到 ‘=' 号上方和下方打印的异常详细程度是不同的。
我们还可以通过traceback,获得异常的名称,用于根据异常名称进行异常捕获,例如,我们直接运行一段程序,并没有打印出来异常的名字,这样我们无法通过异常名对异常进行捕获,因此,我们可以通过traceback获得异常名:
如上图,我们无法获得异常名,下图展示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+'))
来源:https://blog.csdn.net/GodLordGee/article/details/90752827
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
python解决循环依赖的问题分析
oracle 存储过程和触发器复制数据
python实现套接字创建
python读取中文txt文本的方法
SQL Serve数据库到DB2连接服务器的实现过程全解
基于GORM实现CreateOrUpdate方法详解
Python详细对比讲解break和continue区别
python对json的相关操作实例详解
![](https://img.aspxhome.com/file/2023/2/97112_0s.png)
python 爬取B站原视频的实例代码
解决TensorFlow训练模型及保存数量限制的问题
Python正则表达式中的量词符号与组问题小结
![](https://img.aspxhome.com/file/2023/3/64673_0s.jpg)
php实现文件下载更能介绍
17个javascript自定义函数库
浅谈Python]程序的分支结构
Web标准下该如何“插入”图像
浅析BootStrap模态框的使用(经典)
基于Python中单例模式的几种实现方式及优化详解
go语言编程实现递归函数示例详解
![](https://img.aspxhome.com/file/2023/7/114827_0s.png)