gpt4 book ai didi

python - 有没有一种方法可以在不使用 Python 中的 try/except 的情况下对引发到程序顶部的异常使用react?

转载 作者:太空狗 更新时间:2023-10-29 21:29:26 25 4
gpt4 key购买 nike

我可以捕获并转储一个异常(和相应的堆栈跟踪),这会使程序崩溃而不做类似的事情吗:

try:
# whole program
except Execption as e:
dump(e)
raise

有时外部库崩溃,我想对 Python 的死机使用react并记录它这样做的原因。我不想阻止异常使程序崩溃,我只想要调试信息。

类似于:

signals.register('dying', callback)

def callback(context):
# dumping the exception and
# stack trace from here

这可能吗?

最佳答案

是的,通过注册 sys.excepthook() function :

import sys

def myexcepthook(type, value, tb):
dump(type, value, tb)

sys.excepthook = myexcepthook

替换默认钩子(Hook),它打印出回溯到stderr。每当引发未捕获的异常并且解释器即将退出时调用它。

如果您想从自定义 Hook 中重用原始异常 Hook ,请调用 sys.__excepthook__:

def myexcepthook(type, value, tb):
dump(type, value, tb)
sys.__excepthook__(type, value, tb)

关于python - 有没有一种方法可以在不使用 Python 中的 try/except 的情况下对引发到程序顶部的异常使用react?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15246709/

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