gpt4 book ai didi

python - python 中的 sys.excepthook 行为

转载 作者:太空狗 更新时间:2023-10-30 02:33:52 24 4
gpt4 key购买 nike

我对 sys.excepthook 的工作原理感到非常困惑。鉴于以下情况,我找不到继续前进的方法,以防异常被钩子(Hook)捕获。简而言之,我从未达到打印声明,但我确信理论上可以继续。返回 True 或 False 也没有帮助吗?

import sys
from shutil import copy
from subprocess import Popen


def my_except_hook(etype, value, tb):
print("got an exception of type", etype)


if __name__ == '__main__':
sys.excepthook = my_except_hook
copy('sdflsdk')
print("here")
Popen('sdflkjdklsdj')

然后输出是:

('got an exception of type', <type 'exceptions.TypeError'>)

最佳答案

sys.excepthook 确实不打算强制转换为 VB 样式“On Error Resume Next”。可能有一种方法可以做到这一点,但你真的应该包装自己的代码来做到这一点。 system.excepthook 专为 python 交互式解释器之类的东西而设计,以便它们打印异常并将您返回到交互式 shell。要实现您寻求的简历行为,您应该考虑这样做:

import sys
from shutil import copy
from subprocess import Popen

if __name__ == '__main__':
try:
copy('sdflsdk')
except:
pass
print("here")
try:
Popen('sdflkjdklsdj')
except:
pass

关于python - python 中的 sys.excepthook 行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11365549/

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