gpt4 book ai didi

python - 引发异常时如何修改 Python 回溯对象?

转载 作者:IT老高 更新时间:2023-10-28 20:40:50 25 4
gpt4 key购买 nike

我正在开发一个 Python 库,第三方开发人员使用它来为我们的核心应用程序编写扩展。

我想知道是否可以在引发异常时修改回溯,所以最后一个堆栈帧是开发人员代码中对库函数的调用,而不是库中引发异常的行。堆栈底部还有一些框架,其中包含对首次加载代码时使用的函数的引用,我也希望将其删除。

提前感谢您的任何建议!

最佳答案

您可以通过使用回溯的 tb_next 元素来轻松移除回溯的顶部:

except:
ei = sys.exc_info()
raise ei[0], ei[1], ei[2].tb_next

tb_next 是一个只读属性,所以我不知道如何从底部删除东西。您也许可以使用属性机制来允许访问该属性,但我不知道该怎么做。

关于python - 引发异常时如何修改 Python 回溯对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1603940/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com