异常信息的获取对于程序的调试非常重要,可以有助于快速定位有错误程序语句的位置。下面介绍几种 Python 中获取异常信息的方法,这里获取异常(Exception)信息采用 try…except… 程序结构。

如下所示:

try:

print(x)

except Exception as e:

print(e)

1. str(e)

返回字符串类型,只给出异常信息,不包括异常信息的类型,如:

try:

print(x)

except Exception as e:

print(str(e))

打印结果:

name "x" is not defined

2. repr(e)

给出较全的异常信息,包括异常信息的类型,如:

try:

print(x)

except Exception as e:

print(repr(e))

打印结果:

NameError("name "x" is not defined",)

一般情况下,当我们知道异常信息类型后,可以对异常进行更精确的捕获,如:

try:

print(x)

except NameError:

print("Exception Type: NameError")

except Exception as e:

print(str(e))

3. 采用 traceback 模块

需要导入 traceback 模块,此时获取的信息最全,与 Python 命令行运行程序出现错误信息一致。

用法:使用 traceback.print_exc() 或 traceback.format_exc() 打印错误。

区别:traceback.print_exc() 直接打印错误,traceback.format_exc() 返回字符串。

示例如下:

import traceback

try:

print(x)

except Exception as e:

traceback.print_exc()

等价于:

import traceback

try:

print(x)

except Exception as e:

msg = traceback.format_exc()

print(msg)

打印结果都是:

Traceback (most recent call last):

File "E:/study/python/get_exception.py", line 4, in

print(x)

NameError: name "x" is not defined

traceback.print_exc() 还可以接受 file 参数直接写入到一个文件。比如:

# 写入到 tb.txt 文件中

traceback.print_exc(file=open("tb.txt","w+"))

以上就是Python 获取异常(Exception)信息的几种方法的详细内容,更多关于python 获取异常信息的资料请关注云海天教程其它相关文章!

python except exception_Python 获取异常(Exception)信息的几种方法相关推荐

  1. php的header_php获取网页header信息的4种方法

    php获取网页header信息的方法多种多样,就php语言来说,我知道的方法有4种, 下面逐一献上. 方法一:使用get_headers()函数 推荐指数: ★★★★★ get_header方法最简单 ...

  2. 在金蝶云星空中获取单据体信息的两种方法

    近日在学习星空产品的时候发现了两种获取单据体数据包方法,然后调试了一下,发现两种方法获取的信息都是一样的,特此记录一下. 第一种: Entity entity = this.View.BillBusi ...

  3. linux获取bios版本号,在Windows中获取BIOS版本信息的4种方法 | MOS86

    BIOS,或技术上称为基本输入和输出系统,是计算机中最重要的软件之一.它位于主板上,并管理硬件设备(如处理器,硬盘,图形卡等)之间的所有连接.主板制造商不时会发布BIOS或UEFI(统一可扩展固件接口 ...

  4. 3D相机获取点云信息的几种方法

    在计算机中, 图像由一个个像素点组成.图像数据存储在每一个像素点中,每一个像素点包含了被测物体的信息.除了常见的RGB信息或者灰度信息以外,还可以包含深度信息和坐标等其它信息.在某个坐标系下的点的数据 ...

  5. 用Python获取Linux资源信息的三种方法

    方法一:psutil模块 #!usr/bin/env python # -*- coding: utf-8 -*-import socket import psutil class NodeResou ...

  6. Java反射机制01_反射的概念以及获取字节码信息 的四种方式

    Java反射机制01-反射的概念以及获取字节码信息 的四种方式 一.反射的概念 JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法:对于任意一个对象, 都能够调用它的任意 ...

  7. Java获取异常堆栈信息

    Java获取异常堆栈信息 参考文章: (1)Java获取异常堆栈信息 (2)https://www.cnblogs.com/zhi-leaf/p/6288769.html 备忘一下.

  8. python 自动获取所有设备信息-使用Python脚本来获取Cisco设备信息的示例

    今天发现一个使用python写的管理cisco设备的小框架tratto,可以用来批量执行命令. 下载后主要有3个文件: Systems.py 定义了一些不同设备的操作系统及其常见命令. Connect ...

  9. linux下通过Python代码实现获取硬件接口信息

    linux下通过Python代码实现获取硬件接口信息 1.CPU架构 Python中,platform模块给提供了很多方法去获取操作系统的信息. touch cpu.py vi cpu.py #编辑内 ...

  10. 运用Python爬取二手房价格与信息的两种常用方法

    最近房地产市场进一步收紧,多地地方政府出台各种收紧政策,以保证房地产健康发展,因此云朵君就想到运用Python网络爬虫,抓取部分房产信息,了解下最近房地产的情况. 接下来以房天下二手房信息,以获取某个 ...

最新文章

  1. 开发者都想收藏的深度学习脑图,我们抢先曝光了!
  2. 经典mysql数据库表案例_MySQL数据库的“十宗罪”(附10大经典错误案例)
  3. GDCM:VRDS的测试程序
  4. 跟着官方文档能学懂React Hooks就怪了
  5. promise的状态以及api介绍_前端 api 请求缓存
  6. 数据结构之栈的应用:括号匹配问题
  7. 未来2年,会Python的人将会非常抢手
  8. L1-035 情人节 (15 分)—团体程序设计天梯赛
  9. 编译VCL(android)错误
  10. HTML5学完就去浪迹天涯的我...
  11. FFmpeg系列-2-命令行工具之FFmpeg
  12. Matlab 解非线性方程组
  13. 中缀/后缀/前缀表达式及相互转换的手算详细步骤及C代码实现
  14. 路由器功能及构成——网络层
  15. python 爬取种子_Python爬虫框架Scrapy 学习笔记 2 ----- 爬取Mininova网站种子文件信息...
  16. 体验godaddy域名转入,添加A记录,及使用dnspod的NS
  17. Learning Atom 学习Atom编辑器 Lynda课程中文字幕
  18. Chrome内置的断网Javascript 小游戏脚本示范
  19. android 调用系统相机拍照并返回路径,Android调用相机拍照并返回路径和…
  20. Android中级——色彩处理和图像处理

热门文章

  1. 如何根据观看距离来确定合适的投影幕布尺寸?
  2. SEO入门一篇就够-SEO教程
  3. 人工智能导论测试题——第六章 进化智能与群体智能(2)
  4. win10升级助手_Win10自带杀毒软件如此强大,大家却不爱用,究竟是为什么呢?...
  5. 利用组策略部署软件——将软件发布给用户
  6. python程序语言和机器人控制系统_机器人系统设计与制作:Python语言实现
  7. 货币转换程序(双符号)python代码_Python语言程序设计作业四货币转换
  8. java开发用固态还是机械硬盘_搭载固态硬盘的服务器究竟比搭机械硬盘快多少?...
  9. Unity Shader-反射效果(CubeMap,Reflection Probe,Planar Reflection,Screen Space Reflection)
  10. 从一个远程服务器的mysql数据库表的数据复制到本地电脑mysql数据库表,两张表结构一样就是复制数据...