ger*_*rit 5 python debugging stack-trace ipython traceback
出于调试/记录目的,我想将完整堆栈写入文件(例如在此问题中)。我可以使用traceback.format_stack(). 但是,我希望它看起来像IPython输出的更详细的回溯,例如,格式化为IPython.core.ultratb.VerboseTB.
看起来类和方法IPython.core.ultratb需要有关异常的信息,因为它们是为回溯而设计的。但我也不例外:我只想以冗长的方式显示堆栈。
如何使用 的输出方法IPython.core.ultratb.VerboseTB来格式化堆栈,例如报告的traceback.extract_stack()或inspect.stack()?
import IPython.core.ultratb
import sys
try:
1/0
except Exception as exc:
tb = IPython.core.ultratb.VerboseTB()
print(tb.text(*sys.exc_info()))
# --------------------------------------------------------------------------
# ZeroDivisionError Traceback (most recent call last)
# <ipython-input-8-725405cc4e58> in <module>()
# 1 try:
# ----> 2 1/0
# 3 except Exception as exc:
# 4 tb = IPython.core.ultratb.VerboseTB()
# 5 print(tb.text(*sys.exc_info()))
#
# ZeroDivisionError: division by zero
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1068 次 |
| 最近记录: |