更改 python 的默认回溯行为包括项目路径中的更多代码?
change python's default traceback behavior include more code from project path?
我是 运行 一个中等规模的 django 项目,每当发生错误时都会打印回溯,但 Django 模块中有许多功能。
但我自己的项目代码中的真正罪魁祸首,它只有一行,并且由于回溯深度限制而隐藏了有用的上下文。所以我正在考虑通过模块路径而不是调用深度来过滤调用堆栈。
如果你还没有看到这个问题,我有 an very similar example in Java。我需要的是确保业务逻辑代码在异常中预先显示。
虽然我知道 traceback.print_exc()
,但您需要将每个代码包装在 try ... except
.
中
是否可以更改python的默认回溯行为以便django的调用堆栈更少而我自己的代码更大?
每当出现未处理的异常时,Python 调用此函数进行打印
sys.excepthook(type, value, traceback)
类型:异常class
value: 未处理的异常实例
traceback:一个trackeback对象;与 sys.last_traceback
中存储的内容相同
我是 运行 一个中等规模的 django 项目,每当发生错误时都会打印回溯,但 Django 模块中有许多功能。
但我自己的项目代码中的真正罪魁祸首,它只有一行,并且由于回溯深度限制而隐藏了有用的上下文。所以我正在考虑通过模块路径而不是调用深度来过滤调用堆栈。
如果你还没有看到这个问题,我有 an very similar example in Java。我需要的是确保业务逻辑代码在异常中预先显示。
虽然我知道 traceback.print_exc()
,但您需要将每个代码包装在 try ... except
.
是否可以更改python的默认回溯行为以便django的调用堆栈更少而我自己的代码更大?
每当出现未处理的异常时,Python 调用此函数进行打印
sys.excepthook(type, value, traceback)
类型:异常class
value: 未处理的异常实例
traceback:一个trackeback对象;与 sys.last_traceback
中存储的内容相同