繁体   English   中英

Python追溯:“在程序控制下模仿解释器” +

[英]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

至于第二个问题,您可以在模块文档的“ 示例”部分中看到该示例。 第一个示例说明了解释器的简单“包装”(在inputexec帮助下)和使用print_exc (模仿解释器)进行报告。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM