traceback模块被用来跟踪异常返回信息. 如下例所示:

1.直接打印异常信息

import traceback
try:
raise SyntaxError, "traceback test"
except:
traceback.print_exc()

将会在控制台输出类似结果:

Traceback (most recent call last):
File "H:\PythonWorkSpace\Test\src\TracebackTest.py", line 3, in <module>
raise SyntaxError, "traceback test"
SyntaxError: traceback test

类似在你没有捕获异常时候, 解释器所返回的结果.

2.输出异常信息到文件

你也可以传入一个文件, 把返回信息写到文件中去, 如下:

import traceback
import StringIO
try:
raise SyntaxError, "traceback test"
except:
fp = StringIO.StringIO() #创建内存文件对象
traceback.print_exc(file=fp)
message = fp.getvalue()
print message

这样在控制台输出的结果和上面例子一样

3.格式化异常信息

traceback模块还提供了extract_tb函数来格式化跟踪返回信息, 得到包含错误信息的列表, 如下:

import traceback
import sys def 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]

控制台输出结果如下:

H:\PythonWorkSpace\Test\src\TracebackTest.py line: 7 in <module>
tracebacktest()
H:\PythonWorkSpace\Test\src\TracebackTest.py line: 5 in tracebacktest
raise SyntaxError, "traceback test"
** <type 'exceptions.SyntaxError'>: traceback test

4.将错误信息记录到日志中:

logger.info(traceback.format_exc())

最新文章

  1. 17. Letter Combinations of a Phone Number
  2. 在表单中元素的onchange事件的兼容性问题
  3. eclipse编辑struts.xml 代码提示
  4. IMX6输出可控PWM
  5. Go语言并发与并行学习笔记(二)
  6. .Net码农学Android---五分钟了解布局
  7. BZOJ 2351 Matrix(哈希)
  8. texCUBE() to CubemapSampler.Sample()
  9. boot2docker安装及使用
  10. 学习笔记_Filter小结(过滤器JavaWeb三大组件之一)
  11. Oracle core03_ACID
  12. 使用POI把Word Excel转为HTML
  13. HTML5外包团队:HTML5 Canvas使用教程
  14. SQL 必知必会&#183;笔记&lt;8&gt;分组数据
  15. (转)Jenkins持续集成
  16. ajax的跨域解决方案(java+ajax)
  17. pytest 学习笔记二:兼容unittest、执行方式、生成报告
  18. 互联网IP地址的分配
  19. AWVS扫描工具使用教程
  20. windows下编译和安装boost库

热门文章

  1. informix 通过ADO或ODBC连接提取数据时出现中文乱码的解决方法
  2. MainActivity 多个Fragment 内存被回收
  3. Ubuntu中在终端进入root权限但是总提示密码错误的解决方案
  4. postgreSQL中跨库查询在windows下的实现方法
  5. Dynamics CRM查询实体共享给哪些人
  6. Metric Learning度量学习:**矩阵学习和图学习
  7. react基础篇一
  8. HDU_2149_基础博弈sg函数
  9. In Swift, typedef is called typealias:
  10. Spring Cloud Alibaba、Spring Boot、Spring Cloud对应版本关系