gpt4 book ai didi

python - 我们可以在 raise 声明后返回吗

转载 作者:太空宇宙 更新时间:2023-11-04 08:46:05 25 4
gpt4 key购买 nike

我需要在 raise 语句后返回真值。在这里我需要 raise 语句并且它应该返回 True 值。如果我使用 finally 语句,它不会引发异常 block ,如果我不使用 finally,那么异常 block 将使用 raise 语句执行,之后我将无法使用 retcodecmd 变量。在我的 python 代码下面:

try:
something....
except ValueError:
self._retcodecmd = True
raise SomeException(something)
finally:
if self._retcodecmd is True:
return True
else:
return False

最佳答案

函数的返回异常和冒泡异常是互斥的。 同时 raisereturn 退出一个函数是荒谬的,你必须选择。

此处的 finally block 将强制执行 return,撤消您引发的异常。如果这不是您想要的,您需要让异常传播而不在 finally block 中被覆盖,并了解如何在调用方中适本地处理异常。

关于python - 我们可以在 raise 声明后返回吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40416121/

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