python--traceback模块
#!/usr/bin/env python
# -*- coding:utf-8 -*-
# author:love_cat
# 异常处理在python中已经屡见不鲜了,我们不仅可以处理异常,也可以将异常打印出来.
try:
print(a) # 显然a没有被定义
except Exception as e:
print(e)
# 程序的输出结果如下
'''
name 'a' is not defined
'''
# 但仅仅如此,我们却不知道程序在什么地方报的错
# 当我们不使用try语句时,解释器会给我们报出很详细的错误,但此时程序也崩溃了
# 如何在保证程序不崩溃的前提下,获取详细的错误信息呢?
# 这时候,可以使用traceback模块下的方法
import traceback
try:
print(a) # a依旧没有被定义
except Exception as e:
traceback.print_exc()
print('古明地盆')
# 程序输出结果如下
'''
Traceback (most recent call last):
File "F:/satori/python--traceback/异常处理.py", line 22, in <module>
print(a) # a依旧没有被定义
NameError: name 'a' is not defined
古明地盆
'''
# 可以看出来这和程序崩溃时,解释器报出的错误是一致的,但我们下面的字符串还是被打印了出来
# 除了traceback.print_exc()之外,还可以使用traceback.format_exc()
# 区别是traceback.print_exc()报出的错误的形式跟程序崩溃时一模一样,连字体颜色也是红色,咋一看会真的以为程序报错
# 但traceback.format_exc()则是以字符串的形式返回,但需要加上print
try:
print(a) # a依旧没有被定义
except Exception as e:
print(traceback.format_exc())
# 程序输出结果如下
'''
Traceback (most recent call last):
File "F:/satori/python--traceback/异常处理.py", line 39, in <module>
print(a) # a依旧没有被定义
NameError: name 'a' is not defined
'''
# 虽然看起来和上面没有区别,但后者是以字符串返回的,没有红红的字体。
# 此外traceback.print_exc()还可以将错误信息写到文件当中
try:
print(a) # a依旧没有被定义
except Exception as e:
traceback.print_exc(file=open('traceback.txt','w',encoding='utf-8'))
# 可以看到新出现了traceback.txt文件,打开文件可以看到如下信息
'''
Traceback (most recent call last):
File "F:/satori/python--traceback/异常处理.py", line 52, in <module>
print(a) # a依旧没有被定义
NameError: name 'a' is not defined
'''
python--traceback模块的更多相关文章
- Python traceback 模块,追踪错误
Python traceback 模块,追踪错误 import traceback try: your code except: traceback.print_exc()
- Python traceback模块简单使用
Python中的traceback模块被用于跟踪异常返回信息,可以在logging中记录下traceback. traceback.format_exc() 获取异常为字符串,保存到日志文件 try: ...
- Python traceback 模块, 打印异常信息
Python感觉是模仿Java, 到处都需要加try..catch.... 这里记录一下用法,方便后续使用. # -*- coding:utf-8 -*- import os import loggi ...
- Python 进阶 之 traceback模块
Traceback模块官方英文描述: Help on module traceback: NAME traceback - Extract, format and print information ...
- Python 处理异常栈模块——traceback 模块
异常捕捉 通常我们在项目中,针对异常的捕捉会使用 try + except,基本形式如下: try: # 主代码 except IndexError as e: # 索引异常时执行这里 logger. ...
- python的traceback模块
import traceback try: 1/0 except Exception,e: traceback.print_exc() 输出结果是 Traceback (most recent cal ...
- python标准库介绍——24 traceback 模块详解
==traceback 模块== [Example 2-18 #eg-2-18] 展示了 ``traceback`` 模块允许你在程序里打印异常的跟踪返回 (Traceback)信息, 类似未捕获异常 ...
- Python中的traceback模块
traceback模块被用来跟踪异常返回信息. 如下例所示: 1.直接打印异常信息 import traceback try: raise SyntaxError, "traceback t ...
- python - 标准库:traceback模块
traceback 模块: 允许你在程序里打印异常的跟踪返回 (Traceback)信息, 类似未捕获异常时解释器所做的. import traceback try: raise SyntaxErro ...
- Python标准模块--logging
1 logging模块简介 logging模块是Python内置的标准模块,主要用于输出运行日志,可以设置输出日志的等级.日志保存路径.日志文件回滚等:相比print,具备如下优点: 可以通过设置不同 ...
随机推荐
- 计算机指令集CISC与RISC
当接触一新CPU时商家会首先描述它是RISC指令集,这意味着什么,从这个描述你能了解多少CPU特性信息? 复杂指令集计算机(CISC) 长期来,计算机性能的提高往往是通过增加硬件的复杂性来获得.随着集 ...
- Codeforces 771E Bear and Rectangle Strips DP
题意: 一个由大写字母组成的长度为\(n(n \leq 75)\)的字符串,每次操作可以交换相邻位置的两个字母,求最少操作多少次使字符串中不出现子串VK 分析: VK之外的字母具体是什么,我们并不关心 ...
- HDU 1384 Intervals(差分约束)
Intervals Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total ...
- python 表格存取方法(转)
xlwt/xlrd库 存Excel文件:(如果存储数据中有字符,那么写法还有点小小的变化) import xlwt workbook = xlwt.Workbook(encoding='utf-8') ...
- Windows Server 2012 新特性:IPAM的配置
Windows Server 2012 中的 IPAM 是一个新增的内置框架,用于发现.监视.审核和管理企业网络上使用的 IP 地址空间.IPAM 可以对运行动态主机配置协议 (DHCP) 和域名服务 ...
- C#中接口与抽象类的区别
接口与抽象类是面试中经常会考到的点,容易混淆.首先了解下两者的概念: 一.抽象类: 抽象类是特殊的类,只是不能被实例化:除此以外,具有类的其他特性:重要的是抽象类可以包括抽象方法,这是普通类 ...
- 剑指Offer - 九度1522 - 包含min函数的栈
剑指Offer - 九度1522 - 包含min函数的栈2013-12-01 23:44 题目描述: 定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数. 输入: 输入可能包含多个测 ...
- 随笔 —— 门徒 & 无限恐怖
门徒 忧思缠身,所为何物 不知何人,可免世俗 每每朝暮,心无释处 悲从中来,如泣如诉 仁者存世,满怀悲苦 逝者如斯,追还无路 上天无门,开怀捧腹 无路偏行,我行我素 无限恐怖 饥寒苦难谁知故,日日行路 ...
- Bat 修改 xml 文件标签值
xml 文件如下: <ConfigurationData> <ReportsFolder>\Reports</ReportsFolder> <Helpfold ...
- Android 程序怎么打log
常见的做法: 1. 定义一个常量(变量)作为是否输出log的flag: 2. 定义一个常量(变量)作为log级别设定: 2. 调试.打包时,按需要调整常量的值,从而控制log打印. 常见代码参考: h ...