gpt4 book ai didi

python - except 和 except BaseException 有什么区别

转载 作者:太空狗 更新时间:2023-10-29 20:10:22 24 4
gpt4 key购买 nike

这两者有什么区别:

except:
# do something

except BaseException as be:
print(be)

我的意思是在第一种情况下所有可能的异常都被捕获,但对于第二种情况是否也是如此?

也可以使用第一种情况打印错误信息吗?

最佳答案

接受的答案不正确不完整(至少对于 Python 3.6 及更高版本)。

通过捕获 Exception,您可以捕获大多数错误 - 基本上是您使用的任何模块可能抛出的所有错误。

通过捕获BaseException,除了上面所有的异常,你还可以捕获SystemExitKeyboardInterruptGeneratorExit.

例如,通过捕获 KeyboardInterrupt,您可以在用户启动退出(例如按 ^C)后阻止您的代码退出在控制台中,或停止在某些解释器上启动的应用程序)。这可能是需要的行为(例如 - 记录退出),但应格外小心使用!

在上面的示例中,通过捕获 BaseException,您可能会导致您的应用程序在您希望它退出时挂起。

关于python - except 和 except BaseException 有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44655854/

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