以下内容来自P3 documentation:
“[traceback]模块提供了一个标准接口来提取,格式化和打印Python程序的堆栈跟踪。它完全模仿 Python 解释器的行为打印堆栈跟踪。当您想要在程序控制下打印堆栈跟踪时,这很有用,例如在解释器周围的“包装器”中。“
1)为什么回溯模块“模仿”解释器?
2)为什么这有用“在程序控制下”(这句话是什么意思)?
答案 0 :(得分:1)
根据我的理解,通过模仿解释器,意味着异常报告的格式和措辞与解释器执行的格式和措辞完全相似。就是这样:
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
至于你的第二个问题,你可以在模块文档的examples section中看到一个例子。第一个例子说明了简单的&#34;包装&#34;解释器(在input
和exec
的帮助下)并使用print_exc
(模仿解释器)进行报告。