gpt4 book ai didi

python - 在 python 中检索双重引发的异常原始堆栈跟踪

转载 作者:太空狗 更新时间:2023-10-30 01:56:11 24 4
gpt4 key购买 nike

如果我有一个异常被引发、捕获,然后在 except: block 内再次引发的场景,有没有办法捕获引发它的初始堆栈帧?

在 python 退出时打印的堆栈跟踪描述了第二次引发异常的位置。有没有办法引发异常,以便显示最初抛出异常的堆栈帧?

最佳答案

通过再次指定异常实例来重新引发异常是一个常见的错误,如下所示:

except Exception, ex:
# do something
raise ex

这会去除原始的回溯信息并开始一个新的回溯信息。你应该这样做,而不是明确指定异常(即使用“裸”raise):

except Exception, ex:
# do something
raise

这会保留堆栈跟踪中的所有原始信息。参见 this section in the docs一些有用的背景。

关于python - 在 python 中检索双重引发的异常原始堆栈跟踪,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1953237/

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