[英]Python Tracebacks: 'Mimicking the interpreter'+'under program control'
以下是来自P3文档的信息 :
“ [traceback]模块提供了提取,格式化和打印Python程序的堆栈跟踪的标准接口。它精确地模拟了Python 解释器在打印堆栈跟踪时的行为。当您要在程序下打印堆栈跟踪时,这很有用。 控制 ,例如在解释器周围的“包装器”中。”
1)为什么回溯模块“模仿”解释器?
2)为什么这个有用的“在程序控制下”(这句话是什么意思)?
据我了解,通过模仿解释器,这意味着异常报告的格式和措辞与解释器所执行的完全相似。 也就是说,这是:
import traceback
try:
raise AttributeError("Foo")
except:
traceback.print_exc()
显示与以下内容相同的消息:
raise AttributeError("Foo")
这是:
Traceback (most recent call last):
File "<stdin>", line 2, in <module>
AttributeError: Foo
至于第二个问题,您可以在模块文档的“ 示例”部分中看到该示例。 第一个示例说明了解释器的简单“包装”(在input
和exec
帮助下)和使用print_exc
(模仿解释器)进行报告。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.