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,具备如下优点: 可以通过设置不同 ...
随机推荐
- Hive 压缩技术Data Compression
Mapreducwe 执行流程 :input > map > shuffle > reduce > output 压缩执行时间,map 之后,压缩,数据存储在本地磁盘,减少磁盘 ...
- 10 class封装 ORM
1.版本1:初始化 # -*- coding:utf-8 -*- from MySQLdb import * class MysqlHelper: def __init__(self,host,por ...
- P2985 [USACO10FEB]吃巧克力Chocolate Eating
P2985 [USACO10FEB]吃巧克力Chocolate Eating 题目描述 Bessie has received N (1 <= N <= 50,000) chocolate ...
- 一个python的文件对比脚本
脚本主要用来给游戏客户端做热更的. 处理方式就是针对每个文件求其MD5值,再根据文件的目录和名字对比两个版本的MD5值,如果不一样,则这次热更就需要更新这个文件. 用法很简单. 1,生成MD5码列表 ...
- 《Cracking the Coding Interview》——第11章:排序和搜索——题目6
2014-03-21 21:50 题目:给定一个MxN的二位数组,如果每一行每一列都是升序排列(不代表全展开成一个一维数组仍是升序排列的).请设计一个算法在其中查找元素. 解法:对于这么一个数组,有两 ...
- 【Gradient Boosted Decision Tree】林轩田机器学习技术
GBDT之前实习的时候就听说应用很广,现在终于有机会系统的了解一下. 首先对比上节课讲的Random Forest模型,引出AdaBoost-DTree(D) AdaBoost-DTree可以类比Ad ...
- 就算WORD高手也无法解释的Word的一些疑惑.,一些已经解决,一些没有解决
如下功能如何用? 1.选项->保存->显示其他保存位置(即使可能需要登录)? 解答:您能告诉我吗? 2.字体->为字体调整字间距? 解答:自动调整某些字符之前的距离,使得更加美观.例 ...
- Linux忘记root密码的解决办法
这里以centos6为例: 第一步:先将系统重新启动,在读秒的时候按下任意键就会出现如下图的菜单界面: 第二步:按下『e』就能够进入grub的编辑模式,如图: 第三步:将光标移动到kernel那一行, ...
- python 3 直接使用reload函数报错
reload()是python2 的内置函数可以直接使用,但是python3 直接使用此函数报错,需要导入importlib 模块 from importlib import reload
- HDU 3957 Street Fighter (最小支配集 DLX 重复覆盖+精确覆盖 )
DLX经典题型,被虐惨了…… 建一个2*N行3*N列的矩阵,行代表选择,列代表约束.前2*N列代表每个人的哪种状态,后N列保证每个人至多选一次. 显然对手可以被战胜多次(重复覆盖),每个角色至多选择一 ...