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捕获并打印异常相关推荐

  1. python 报错traceback-python-traceback捕获并打印异常

    异常处理是日常操作了,但是有时候不能只能打印我们处理的结果,还需要将我们的异常打印出来,这样更直观的显示错误 下面来介绍traceback模块来进行处理 try: 1/0 except Excepti ...

  2. python try: except: 捕获到的异常输出到 log文件

    import logging # 默认__name__ ,可更改 logging.basicConfig(filename='../LOG/'+__name__+'.log',format='[%(a ...

  3. python Intel Real Sense D435 异常检测与抛出(获取/打印异常详细信息 traceback.print_exc())

    文章目录 背景描述 首先熟悉一下python异常处理的几个关键字 摄像头USB断开异常 获取异常详细信息 背景描述 在摄像头运行的时候,有时候会遇到一些错误,比如帧传输错误引起的程序结束, 但更为严重 ...

  4. Python traceback 模块, 打印异常信息

    Python traceback 模块, 打印异常信息 参考文章: (1)Python traceback 模块, 打印异常信息 (2)https://www.cnblogs.com/xudong-b ...

  5. python traceback_Python 捕捉traceback异常栈信息

    相关函数简介 sys.exc_info() 返回包含3个元素(type, value, traceback)的元组,提供关于当前正被处理的异常信息.如果异常没有被处理,返回包含3个None值的元组. ...

  6. Python程序异常处理:try、except、else、finally,捕获指定异常类型、捕获多个异常类型、捕获所有异常类型、捕获异常信息、异常的传递、raise抛出自定义异常

    输入与预期不匹配,触发异常,程序退出: 一.异常处理:使用try.except进行错误处理 为了保证程序运行的稳定性,错误应该被程序捕捉并合理控制 Python使用保留字try和except进行异常处 ...

  7. python打印异常_python异常输出

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 开发准备cas 的 python sdk 包含了用于访问和操作 cas 的所有 ...

  8. python 异常回溯_Python 代码的异常处理和打印异常信息

    前言 1.Python的异常处理可以向用户准确反馈出错信息,所有异常都是基类Exception的子类.自定义异常都是从基类Exception中继承.Python自动将所有内建的异常放到内建命名空间中, ...

  9. python traceback_Python语言Traceback详解

    本文主要向大家介绍了Python语言Traceback详解,通过具体的内容向大家展示,希望对大家学习Python语言有所帮助. 刚接触Python的时候,简单的异常处理已经可以帮助我们解决大多数问题, ...

最新文章

  1. php去掉字符串的最后一个字符 substr()的用法
  2. Android Sensors (2) 传感器API的使用
  3. 电力系统通信站和设备管理系统分析设计
  4. python如何去掉方括号_python从入门到实战外星人入侵
  5. 27对象的向上向下转型
  6. vue中使用Vue-pdf在线预览
  7. 设计一个名为complex的类来表示复数_complex类java解决
  8. linux下搭建属于自己的博客(WordPress安装)
  9. Android 一个页面上下两个ListView的页面显示
  10. 产品案例分析 - 华为软件开发云
  11. 快速复制一个网站的前端代码的工具-仿站工具
  12. 感恩节:美国人的春节
  13. 2021年起重机司机(限桥式起重机)考试题库及起重机司机(限桥式起重机)考试试卷
  14. windows编程13-WM_CTLCOLORSTATIC
  15. 微信公众号开发:获取openId和用户信息(完整版)
  16. 健身知识 / 动作图解(待全)
  17. 攻防世界-re-for-50-plz-50
  18. 工业机器人什么情况下会出现奇点_机器人奇点是什么?他们怎么会像黑洞一样?...
  19. 宝鲲财经外汇交易头寸有哪些不同的策略
  20. 孙素丹老师 银行数字化场景营销专家

热门文章

  1. Sklearn中pairwise_distances_argmin
  2. php打印错误日志到本地,php中如何实现打印错误日志的功能
  3. 动量策略-产生的原因、计算公式及交易策略和考虑因素
  4. 造船行业TRIBON系统解决方案
  5. c语言自动登陆ssh,CheungSSH国产中文开源自动化运维系统Web界面(二)
  6. TL431反馈回路的分析和设计
  7. centos的cd与pwd指令
  8. !!最神奇、最实用和最精准的逃顶指标公式(通达信源码)
  9. 用Python实现语音合成
  10. 什么是生物识别技术?它是如何用于安全领域的?