笔记-python异常信息输出
笔记-python异常信息输出
1. 异常信息输出
python异常捕获使用try-except-else-finally语句;
在except 语句中可以使用except as e,然后通过e得到异常信息;
- str(e): # 返回字符串类型,只给出异常信息,不包括异常信息的类型,如I/O的异常信息。
division by zero
- repr(e): #给出较全的异常信息,包括异常信息的类型
ZeroDivisionError('division by zero',)
- e.message #信息最为丰富,一般情况下使用这个选项就足够了
- traceback# 获取信息最全
2. traceback
This module provides a standard interface to extract, format and print stack traces of Python programs. It exactly mimics the behavior of the Python interpreter when it prints a stack trace. This is useful when you want to print stack traces under program control, such as in a “wrapper” around the interpreter.
The module uses traceback objects — this is the object type that is stored in the sys.last_traceback variable and returned as the third item from sys.exc_info().
比较常用的方法有:
print_exception(etype, value, tb [ ,limit [,file ] ])
print_exc([limit [ , file ] ]) # 它是一个print_exception的简写,打印信息
format_exc() # 与print_exc类似,但它返回一个字符串,而不是打印
案例代码:
import traceback
import sys
class Myex_ValueError(Exception):
"""
my exception
"""
def __init__(self, msg):
self.message
= msg
try:
a = 5
b = 5/0
raise Myex_ValueError('error')
except Exception as e:
#print(e)
#print(str(e))
#print(repr(e))
#print(e.__class__)
#print(e.message)
#traceback.print_exc()
print(traceback.format_exc())
#traceback.print_stack()
3.
sys
上面提到了traceback会生成traceback 对象,而这个对象可以通过sys.exc_info()得到。
sys.exc_info()的返回值是一个tuple,
(type, value/message, traceback)
这里的type ---- 异常的类型
value/message ---- 异常的信息或者参数
traceback ---- 包含调用栈信息的对象。
笔记-python异常信息输出的更多相关文章
- python异常信息获取
1.python调试的时候获取异常信息 import traceback print '######################################################## ...
- springmvc 结合 自动封装异常信息输出为json 报错 500内部服务器错误的原因
补充:还有一个原因是因为spring的对象没有被成功注入,例如 mapper没有被成功注入,抛出异常时在这种封装场景下将会抛出 500 服务器内部错误, 这种情况下要排查还是靠debug然后看看到底是 ...
- StringWriter/PrintWriter在Java输出异常信息中的作用
闲来无事,看看JUnit的源代码.刚刚开始看就发现一段有趣的代码: public String trace() { StringWriter stringWriter = new StringWrit ...
- python学习笔记5_异常
python学习笔记5_异常 1.什么事异常 Python使用异常对象(exception object) 来表示异常情况.遇到错误会发生异常. 如果异常对象未被处理或被捕捉,程序就会用所谓的回溯(t ...
- python使用traceback获取详细的异常信息
原创来自:https://blog.csdn.net/mengtao0609/article/details/55049059 python使用traceback获取详细的异常信息 2017年02月1 ...
- [python]打印异常信息的不同方式
异常捕获 try: execpt Exception as e: print(str(e)) 打印异常信息的方式 1.str(e) 返回字符串类型,只给出异常信息,不包括异常信息的类型,如1/0的异常 ...
- 一文教你读懂Python中的异常信息
正文共:11813 字 2 图 预计阅读时间: 30 分钟 原文:https://realpython.com/python-traceback/ 译者:陈祥安 原文有所改动. 在写 Python 代 ...
- PHP 错误与异常 笔记与总结(15 )使用观察者模式处理异常信息
使异常处理变得更灵活.可观察,可以使用设计模式中的观察者模式. 文件 ① 定义观察者的接口 ExceptionObserver.php: <?php /* 给观察者定义的规范 */ interf ...
- PHP 错误与异常 笔记与总结(14 )记录和发送异常信息
当发生异常时,把异常信息记录到日志文件中: <?php header('content-type:text/html; charset=utf-8'); class LogException e ...
随机推荐
- jquery-validate插件
jQuery Validation 插件 优点:1.表单验证非常简单方便,并且提供了许多配置项目2.国际化,可以自定义提示信息 命令行安装 //初始化bowerbower init //使用bower ...
- python模块详解 XML
XML模块 XML是实现不同语言或程序之间进行数据交换的协议,和json一样. XML格式: <?xml version="1.0" encoding="UTF-8 ...
- [总结]SHAREPOINT - CAML列表查询(上)
首先要了解的是CAML(Collaboration Application Markup Language)不仅仅是用在对列表.文档库的查询,字段的定义,站点定义等处处使用的都是CAML. 简单的提一 ...
- WEB渗透测试之三大漏扫神器
通过踩点和查点,已经能确定渗透的目标网站.接下来可以选择使用漏扫工具进行初步的检测,可以极大的提高工作的效率. 功欲善其事必先利其器,下面介绍三款适用于企业级漏洞扫描的软件 1.AWVS AWVS ( ...
- 缓存的set、getAndTouch一定要谨慎使用
缓存的set.getAndTouch一定要谨慎使用. 很多人认为缓存在内存中性能良好,频繁更新,却不想机器的IO无法支撑,结果就是缓存成了系统的瓶颈.
- leetcode 136、Single Number
Given a non-empty array of integers, every element appears twice except for one. Find that single on ...
- leetcode: 数组
1. longest-consecutive-sequence Given an unsorted array of integers, find the length of the longest ...
- C4C销售订单行项目价格维护方法
需求很简单,能够创建销售订单,在行项目里添加产品,带出价格来,同时把总价显示在销售订单抬头区域. 如下图所示: 下面是具体配置. Business Configuration里,点击Sales Ord ...
- IOS 添加定时器(NSTimer)
定时器 CADisplayLink:时间间隔比较小(使用时间频率高)的时候用(适合小游戏中开发) NSTimer:时间间隔比较大的时候调用(适合图片轮放的时候用) //声明定时器 @property ...
- Kubernetes解决了Docker使用中的哪些问题?
kubernetes是谷歌开源的容器集群管理系统,是Google多年大规模容器管理技术Borg的开源版本 (1)基于容器的应用部署.维护和滚动升级 (2)网络,建立容器之间的通信子网如隧道.路由等,解 ...