属性错误: 'traceback'对象没有属性'format_exception'



下面是我的代码,经过简化以说明问题:

import sys
def my_excepthook(exc_type, exc_value, exc_traceback):
print(exc_traceback.format_exception())
sys.excepthook = my_excepthook
x = 5/0

Python在处理ZeroDivisionError时遇到另一个异常,因此本文的标题。

看看我的调试器,它肯定是一个回溯对象。它有四个属性:

<
  • tb_frame:帧/gh>
  • tb_lasti: int
  • tb_lineno: int
  • <
  • tb_next:回溯/gh>

但没有方法。为什么?

<标题>

编辑:

阅读traceback模块python docs时,我误以为我在阅读traceback对象python docs。

如何格式化traceback对象

我认为您将回溯对象与包含format_exception函数的traceback混淆了。

import sys
import traceback
def my_excepthook(exc_type, exc_value, exc_traceback):
print(traceback.format_exception(exc_type, exc_value, exc_traceback))
sys.excepthook = my_excepthook
x = 5/0

最新更新