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

作者:GodLordGee 时间:2023-01-17 11:43:48 

问题描述

为了程序的正常运行,进行异常处理是有必要的,甚至于有时候,我们会主动的抛出异常,然后让程序进行异常捕获,再进行进一步的处理。但是,在开发的程序相对较大的过程中,我们不能一昧的进行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+'))

来源:https://blog.csdn.net/GodLordGee/article/details/90752827

标签:Python,异常,信息,traceback
0
投稿

猜你喜欢

  • python解决循环依赖的问题分析

    2023-03-19 12:22:14
  • oracle 存储过程和触发器复制数据

    2024-01-19 19:27:46
  • python实现套接字创建

    2021-09-09 05:12:04
  • python读取中文txt文本的方法

    2021-06-10 03:55:51
  • SQL Serve数据库到DB2连接服务器的实现过程全解

    2010-08-31 15:06:00
  • 基于GORM实现CreateOrUpdate方法详解

    2024-02-14 09:18:02
  • Python详细对比讲解break和continue区别

    2022-08-09 08:45:05
  • python对json的相关操作实例详解

    2022-03-27 20:15:06
  • python 爬取B站原视频的实例代码

    2023-03-06 04:08:43
  • 解决TensorFlow训练模型及保存数量限制的问题

    2022-08-06 08:22:27
  • Python正则表达式中的量词符号与组问题小结

    2022-12-14 15:24:24
  • php实现文件下载更能介绍

    2023-08-18 14:30:21
  • 17个javascript自定义函数库

    2008-02-26 11:49:00
  • 浅谈Python]程序的分支结构

    2022-05-03 07:27:45
  • Web标准下该如何“插入”图像

    2008-03-17 13:01:00
  • 浅析BootStrap模态框的使用(经典)

    2023-08-20 02:21:19
  • 基于Python中单例模式的几种实现方式及优化详解

    2022-10-24 14:20:45
  • go语言编程实现递归函数示例详解

    2024-02-09 14:35:44
  • mysql查找删除重复数据并只保留一条实例详解

    2024-06-05 09:52:53
  • 利用global.asa计划执行程序

    2008-03-05 12:49:00
  • asp之家 网络编程 m.aspxhome.com