python打印异常信息的两种实现方式

yipeiwu_com5年前Python基础

1. 直接打印错误

try:
 
 # your code
 
except KeyboardInterrupt:
 
 print("quit")
 
except Exception as ex:
 
 print("出现如下异常%s"%ex)

如下例子

try:
 2/0
except Exception as e:
 print(e)

结果为:division by zero

2. 用traceback模块打印

上述结果看不到具体错误的信息,如行数啥的,不方便调试的时候定位,因此也可以用traceback模块,方便调试

import traceback
try:
 2/0
except Exception as e:
 traceback.print_exc()

结果为:

Traceback (most recent call last):
 File "c:\Users\Administrator\Desktop\test1.py", line 3, in <module>
 2/0
ZeroDivisionError: division by zero

ps:上述traceback.print_exc()是直接打印错误

还可以用traceback.format_exc()返回字符串,可将错误信息保存在文档日志中

可以说traceback.print_exc()等同于print traceback.format_exc()

以上这篇python打印异常信息的两种实现方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

详解python中的 is 操作符

大家可以与Java中的 == 操作符相互印证一下,加深一下对引用和对象的理解。原问题: Python为什么直接运行和在命令行运行同样语句但结果却不同,他们的缓存机制不同吗? 其实...

python redis连接 有序集合去重的代码

python redis连接 有序集合去重的代码如下所述: # -*- coding: utf-8 -*- import redis from constant import re...

python多进程并行代码实例

python多进程并行代码实例

这篇文章主要介绍了python多进程并行代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 代码: from multipro...

深入解析Python编程中super关键字的用法

官方文档中关于super的定义说的不是很多,大致意思是返回一个代理对象让你能够调用一些继承过来的方法,查找的机制遵循mro规则,最常用的情况如下面这个例子所示: class C(B)...

itchat-python搭建微信机器人(附示例)

itchat是python开源第三方库,用于搭建微信机器人,几十行代码就能帮你实现自动的处理所有信息。比如,添加好友,搭建自动回复机器人,还原撤销信息,分析好友男女比例,地理分布情况,爬...