python的traceback模块
import traceback
try:
1/0
except Exception,e:
traceback.print_exc()
File "test_traceback.py", line 3, in <module>
1/0
你也可以传入一个文件, 把返回信息写到文件中去, 如下:
|
1
2
3
4
5
6
7
8
9
|
import tracebackimport StringIOtry: raise SyntaxError, "traceback test"except: fp = StringIO.StringIO() #创建内存文件对象 traceback.print_exc(file=fp) message = fp.getvalue() print message |
这样在控制台输出的结果和上面例子一样,traceback模块还提供了extract_tb函数来格式化跟踪返回信息, 得到包含错误信息的列表, 如下:
|
1
2
3
4
5
6
7
8
9
10
11
12
|
import tracebackimport sysdef tracebacktest(): raise SyntaxError, "traceback test"try: tracebacktest()except: info = sys.exc_info() for file, lineno, function, text in traceback.extract_tb(info[2]): print file, "line:", lineno, "in", function print text print "** %s: %s" % info[:2] |
控制台输出结果如下:
|
1
2
3
4
5
|
H:PythonWorkSpaceTestsrcTracebackTest.py line: 7 in <module>tracebacktest()H:PythonWorkSpaceTestsrcTracebackTest.py line: 5 in tracebacktestraise SyntaxError, "traceback test"** <type 'exceptions.SyntaxError'>: traceback test |
python的traceback模块的更多相关文章
- Python traceback 模块,追踪错误
Python traceback 模块,追踪错误 import traceback try: your code except: traceback.print_exc()
- 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模块简单使用
Python中的traceback模块被用于跟踪异常返回信息,可以在logging中记录下traceback. traceback.format_exc() 获取异常为字符串,保存到日志文件 try: ...
- 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基础——第三方模块
python基础——第三方模块 在Python中,安装第三方模块,是通过包管理工具pip完成的. 如果你正在使用Mac或Linux,安装pip本身这个步骤就可以跳过了. 如果你正在使用Window ...
- python中string模块各属性以及函数的用法
任何语言都离不开字符,那就会涉及对字符的操作,尤其是脚本语言更是频繁,不管是生产环境还是面试考验都要面对字符串的操作. python的字符串操作通过2部分的方法函数基本上就可以解决所有的字符串 ...
随机推荐
- 来自Google的TCP BBR拥塞控制算法解析
转自:http://blog.csdn.net/dog250/article/details/52830576 写本文的初衷一部分来自于工作,更多的来自于发现国内几乎还没有中文版的关于TCP bbr算 ...
- weblogic 12c集群性能测试(与guava13以上版本兼容性问题仍然存在)
测试了5000并发:
- 低版本系统兼容的ActionBar(二)ActionProvider+分离式ActionBar+分离式的ActionMode
这篇文章主要讲的是在低版本兼容的ActionBar中实现自定义的ActionProvider,ShareActionProvider的使用方法,如何实现分离式ActionBar,外加在分 ...
- java 模拟发送post请求测试
方法一: HttpClient public void postTest(HttpServletRequest request,Integer type,String phone,String pas ...
- 基于多租户的云计算Overlay网络
一 . 为什么需要Vxlan 1. vlan的数量限制 4096个vlan远不能满足大规模云计算数据中心的需求 2. 物理网络基础设施的限制 基于IP子网的区域划分限制了需要二层网络连通性的应用负载的 ...
- 聚类:层次聚类、基于划分的聚类(k-means)、基于密度的聚类、基于模型的聚类
一.层次聚类 1.层次聚类的原理及分类 1)层次法(Hierarchicalmethods)先计算样本之间的距离.每次将距离最近的点合并到同一个类.然后,再计算类与类之间的距离,将距离最近的类合并为一 ...
- 转:PHP高效率写法(详解原因)
FROM : http://my.oschina.net/No5stranger/blog/157585#OSC_h3_1 1.尽量静态化: 如果一个方法能被静态,那就声明它为静态的,速度可提高1/4 ...
- Inferred type 'S' for type parameter 'S' is not within its bound; should extend
在使用springboot 方法报错: Inferred type 'S' for type parameter 'S' is not within its bound; should extends ...
- ORM数据库框架 LitePal SQLite MD
Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...
- 跨平台APP----对Cordova,APPCan,DCloud,APICloud四大平台的分析
前言: 移动开发是未来一个很重要的IT领域,而跨平台开发将是这一领域最重要的事情. ----谷震平 一 兵器谱 在国外,最大的是Cordova(PhoneGap,2011年广泛流行), ...