python traceback print_python traceback捕获并打印异常
1、traceback.print_exc()
2、traceback.format_exc()
3、traceback.print_exception()
简单说下这三个方法是做什么用的:
1、print_exc():是对异常栈输出2、format_exc():是把异常栈以字符串的形式返回,print(traceback.format_exc()) 就相当于traceback.print_exc()3、print_exception():traceback.print_exc()实现方式就是traceback.print_exception(sys.exc_info()),可以点sys.exc_info()进去看看实现
测试代码如下:
def func(a, b):
return a / b
if __name__ == '__main__':
import sys
import time
import traceback
try:
func(1, 0)
except Exception as e:
print('***', type(e), e, '***')
time.sleep(2)
print("***traceback.print_exc():*** ")
time.sleep(1)
traceback.print_exc()
time.sleep(2)
print("***traceback.format_exc():*** ")
time.sleep(1)
print(traceback.format_exc())
time.sleep(2)
print("***traceback.print_exception():*** ")
time.sleep(1)
traceback.print_exception(*sys.exc_info())
运行结果:
*** division by zero ***
***traceback.print_exc():***
Traceback (most recent call last):
File "E:/HttpRunnerManager-jh/ApiManager/tests.py", line 42, in
func(1, 0)
File "E:/HttpRunnerManager-jh/ApiManager/tests.py", line 33, in func
return a / b
ZeroDivisionError: division by zero
***traceback.format_exc():***
Traceback (most recent call last):
File "E:/HttpRunnerManager-jh/ApiManager/tests.py", line 42, in
func(1, 0)
File "E:/HttpRunnerManager-jh/ApiManager/tests.py", line 33, in func
return a / b
ZeroDivisionError: division by zero
***traceback.print_exception():***
Traceback (most recent call last):
File "E:/HttpRunnerManager-jh/ApiManager/tests.py", line 42, in
func(1, 0)
File "E:/HttpRunnerManager-jh/ApiManager/tests.py", line 33, in func
return a / b
ZeroDivisionError: division by zero
可以看出,三种方式打印结果是一样的。在开发时,做调试是很方便的。也可以把这种异常栈写入日志。
logging.exception(ex)#指名输出栈踪迹, logging.exception的内部也是包了一层此做法
logging.error(ex, exc_info=1)#更加严重的错误级别
logging.critical(ex, exc_info=1)#我直接copy的,未尝试。有时间会试下的
python 还有一个模块叫cgitb,输出的error非常详情。
try:
func(1, 0)exceptException as e:importcgitb
cgitb.enable(format='text')
func(1, 0)
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 print_python traceback捕获并打印异常相关推荐
- python 报错traceback-python-traceback捕获并打印异常
异常处理是日常操作了,但是有时候不能只能打印我们处理的结果,还需要将我们的异常打印出来,这样更直观的显示错误 下面来介绍traceback模块来进行处理 try: 1/0 except Excepti ...
- python try: except: 捕获到的异常输出到 log文件
import logging # 默认__name__ ,可更改 logging.basicConfig(filename='../LOG/'+__name__+'.log',format='[%(a ...
- python Intel Real Sense D435 异常检测与抛出(获取/打印异常详细信息 traceback.print_exc())
文章目录 背景描述 首先熟悉一下python异常处理的几个关键字 摄像头USB断开异常 获取异常详细信息 背景描述 在摄像头运行的时候,有时候会遇到一些错误,比如帧传输错误引起的程序结束, 但更为严重 ...
- Python traceback 模块, 打印异常信息
Python traceback 模块, 打印异常信息 参考文章: (1)Python traceback 模块, 打印异常信息 (2)https://www.cnblogs.com/xudong-b ...
- python traceback_Python 捕捉traceback异常栈信息
相关函数简介 sys.exc_info() 返回包含3个元素(type, value, traceback)的元组,提供关于当前正被处理的异常信息.如果异常没有被处理,返回包含3个None值的元组. ...
- Python程序异常处理:try、except、else、finally,捕获指定异常类型、捕获多个异常类型、捕获所有异常类型、捕获异常信息、异常的传递、raise抛出自定义异常
输入与预期不匹配,触发异常,程序退出: 一.异常处理:使用try.except进行错误处理 为了保证程序运行的稳定性,错误应该被程序捕捉并合理控制 Python使用保留字try和except进行异常处 ...
- python打印异常_python异常输出
广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 开发准备cas 的 python sdk 包含了用于访问和操作 cas 的所有 ...
- python 异常回溯_Python 代码的异常处理和打印异常信息
前言 1.Python的异常处理可以向用户准确反馈出错信息,所有异常都是基类Exception的子类.自定义异常都是从基类Exception中继承.Python自动将所有内建的异常放到内建命名空间中, ...
- python traceback_Python语言Traceback详解
本文主要向大家介绍了Python语言Traceback详解,通过具体的内容向大家展示,希望对大家学习Python语言有所帮助. 刚接触Python的时候,简单的异常处理已经可以帮助我们解决大多数问题, ...
最新文章
- php去掉字符串的最后一个字符 substr()的用法
- Android Sensors (2) 传感器API的使用
- 电力系统通信站和设备管理系统分析设计
- python如何去掉方括号_python从入门到实战外星人入侵
- 27对象的向上向下转型
- vue中使用Vue-pdf在线预览
- 设计一个名为complex的类来表示复数_complex类java解决
- linux下搭建属于自己的博客(WordPress安装)
- Android 一个页面上下两个ListView的页面显示
- 产品案例分析 - 华为软件开发云
- 快速复制一个网站的前端代码的工具-仿站工具
- 感恩节:美国人的春节
- 2021年起重机司机(限桥式起重机)考试题库及起重机司机(限桥式起重机)考试试卷
- windows编程13-WM_CTLCOLORSTATIC
- 微信公众号开发:获取openId和用户信息(完整版)
- 健身知识 / 动作图解(待全)
- 攻防世界-re-for-50-plz-50
- 工业机器人什么情况下会出现奇点_机器人奇点是什么?他们怎么会像黑洞一样?...
- 宝鲲财经外汇交易头寸有哪些不同的策略
- 孙素丹老师 银行数字化场景营销专家