est*_*est 5 python django error-handling callstack traceback
我正在运行一个中等大小的 django 项目,每当发生错误时都会打印回溯,但许多功能在 Django 模块中。
但是我自己的项目代码中的真正罪魁祸首,它只有一行,并且由于回溯深度限制而隐藏了有用的上下文。所以我想通过模块路径而不是调用深度来过滤调用堆栈。
如果您还没有看到这个问题,我在 Java 中有一个非常相似的例子。我需要的是确保业务逻辑代码在异常中预先显示。
虽然我知道traceback.print_exc(),但是您需要将每个代码都包装在try ... except.
是否可以更改 python 的默认回溯行为,以便 django 的调用堆栈更少,而我自己的代码部分更大?
每当出现未处理的异常时,Python 就会调用这个函数来进行打印
sys.excepthook(type, value, traceback)
Run Code Online (Sandbox Code Playgroud)
type:异常类
value:未处理的异常实例
追踪:追踪对象;与 sys.last_traceback 中存储的内容相同