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

yipeiwu_com6年前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笔记_将循环内容在一行输出的方法

python笔记_将循环内容在一行输出的方法

例子是输出九九乘法表 如果按照如下程序写: # 输出九九乘法表 for i in range(10): for j in range(1,i+1): print("{}...

基于python plotly交互式图表大全

基于python plotly交互式图表大全

plotly可以制作交互式图表,直接上代码: import plotly.offline as py from plotly.graph_objs import Scatter, L...

python中字符串变二维数组的实例讲解

python中字符串变二维数组的实例讲解

有一道算法题题目的意思是在二维数组里找到一个峰值。要求复杂度为n。 解题思路是找田字(四边和中间横竖两行)中最大值,用分治法递归下一个象限的田字。 在用python定义一个二维数组时可以...

Python在Windows和在Linux下调用动态链接库的教程

Python在Windows和在Linux下调用动态链接库的教程

Linux系统下调用动态库(.so) 1、linuxany.c代码如下: #include "stdio.h" void display(char* msg){ p...

在Pycharm中调试Django项目程序的操作方法

在Pycharm中调试Django项目程序的操作方法

最近利用Django开发了一个小网站,但是遇到问题无法调试。查阅资料找到如下方法配置Pycharm对Django进行调试 步骤如下: 1 首先在Pycharm中打开你的Django项目,...