Python标准库-traceback模块
2010-02-22 13:33
465 查看
Example 2-18 展示了 traceback 模块允许你在程序里打印异常的跟踪返回
(Traceback)信息, 类似未捕获异常时解释器所做的. 如 Example 2-18 所示. 2.11.0.1. Example
2-18. 使用 traceback 模块打印跟踪返回信息 File: traceback-example-1.py # note!
import
Example 2-18 展示了 traceback 模块允许你在程序里打印异常的跟踪返回 (Traceback)信息, 类似未捕获异常时解释器所做的. 如 Example 2-18 所示.
Example 2-19 使用 StringIO 模块将跟踪返回信息放在字符串中.
你可以使用 extract_tb 函数格式化跟踪返回信息, 得到包含错误信息的列表, 如 Example 2-20 所示.
(Traceback)信息, 类似未捕获异常时解释器所做的. 如 Example 2-18 所示. 2.11.0.1. Example
2-18. 使用 traceback 模块打印跟踪返回信息 File: traceback-example-1.py # note!
import
Example 2-18 展示了 traceback 模块允许你在程序里打印异常的跟踪返回 (Traceback)信息, 类似未捕获异常时解释器所做的. 如 Example 2-18 所示.
2.11.0.1. Example 2-18. 使用 traceback 模块打印跟踪返回信息
File: traceback-example-1.py # note! importing the traceback module messes up the # exception state, so you better do that here and not # in the exception handler # 注意! 导入 traceback 会清理掉异常状态, 所以 # 最好别在异常处理代码中导入该模块 import traceback try: raise SyntaxError, "example" except: traceback.print_exc() Traceback (innermost last): File "traceback-example-1.py", line 7, in ? SyntaxError: example
Example 2-19 使用 StringIO 模块将跟踪返回信息放在字符串中.
2.11.0.2. Example 2-19. 使用 traceback 模块将跟踪返回信息复制到字符串
File: traceback-example-2.py import traceback import StringIO try: raise IOError, "an i/o error occurred" except: fp = StringIO.StringIO() traceback.print_exc(file=fp) message = fp.getvalue() print "failure! the error was:", repr(message) failure! the error was: 'Traceback (innermost last):/012 File "traceback-example-2.py", line 5, in ?/012IOError: an i/o error occurred/012'
你可以使用 extract_tb 函数格式化跟踪返回信息, 得到包含错误信息的列表, 如 Example 2-20 所示.
2.11.0.3. Example 2-20. 使用 traceback Module 模块编码 Traceback 对象
File: traceback-example-3.py import traceback import sys def function(): raise IOError, "an i/o error occurred" try: function() except: info = sys.exc_info() for file, lineno, function, text in traceback.extract_tb(info[2]): print file, "line", lineno, "in", function print "=>", repr(text) print "** %s: %s" % info[:2] traceback-example-3.py line 8 in ? => 'function()' traceback-example-3.py line 5 in function => 'raise IOError, "an i/o error occurred"' ** exceptions.IOError: an i/o error occurred
相关文章推荐
- python标准库介绍——24 traceback 模块详解
- python标准库介绍——19 mmap 模块详解
- python标准库介绍——23 UserString 模块详解
- python标准库介绍——28 sha 模块详解
- python标准库介绍——36 popen2 模块详解
- Python 标准库 —— os 模块
- Python学习笔记011_模块_标准库_第三方库的安装
- Python 标准库 -> Zipfile 模块 and Tarfile(tar包)
- Python 标准库系列之模块介绍
- Python标准库笔记(1) — string模块
- Python标准库(非常经典的各种模块介绍)
- python标准库:csv 模块
- python标准库介绍——25 errno 模块详解
- Python标准库--os模块
- python标准库介绍——31 threading 模块详解
- python标准库介绍——37 signal 模块详解
- Python基础(五) — 模块 & 标准库
- Python标准库(非常经典的各种模块介绍)
- Python3.6使用logger模块,2次print,重定向,输出信息到指定文件,使用traceback模块重定向错误输出
- python异常处理模块之traceback