gpt4 book ai didi

python - 无错误地停止 Python 代码

转载 作者:太空宇宙 更新时间:2023-11-03 12:21:33 24 4
gpt4 key购买 nike

我有一段不在函数中的代码,比方说

x = 5
y = 10
if x > 5:
print("stopping")

我可以在 print 语句之后放置什么来阻止代码继续运行? Sys.exit() 有效,但会引发我不希望在程序中出现的错误。我希望它安静地停止代码,就好像它已经到达主循环的末尾一样。谢谢。

最佳答案

正如 JBernardo 指出的那样, sys.exit()引发异常。此异常是 SystemExit .当它没有被用户代码处理时,解释器会干净地退出(调试程序的调试器可以捕获它并保持对程序的控制,例如,由于这种机制)——而不是 os._exit() ,这是程序的无条件中止。

此异常未被except Exception:捕获,因为 SystemExit不继承自 Exception .然而,它被一个裸体捕获了 except:条款。

因此,如果您的程序发现异常,您可能希望使用 except Exception: 捕获较少的异常。而不是 except: .也就是说,不鼓励捕获所有异常,因为这可能会隐藏真正的问题,因此如果可以的话,请避免使用 except。条款(如果有的话)更具体。

我对为什么这个SystemExit的理解异常机制很有用是用户代码经过任何finally子句 after sys.exit()except 中找到条款:文件可以干净地关闭等;然后解释器捕获任何 SystemExit未被用户捕获并永久退出(调试器将捕获它以保持解释器运行并获取有关退出程序的信息)。

关于python - 无错误地停止 Python 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16258971/

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