gpt4 book ai didi

python - 如何返回值并引发异常

转载 作者:太空狗 更新时间:2023-10-30 02:11:37 25 4
gpt4 key购买 nike

这个try/except语句有两个目标。

  1. 如果没有出现问题,它需要返回值 1,如果出现任何问题,则返回 0。
  2. 它需要引发异常并结束脚本。

我有 return 值。我也有 SystemExit() 工作。但放在一起,它们不起作用。

我的 Python 脚本(相关):

except IOError:
value_to_return = 0
return value_to_return
raise SystemExit("FOOBAR")

这样,它就完全忽略了 raise SystemExit("FOOBAR") 行。如何获取返回值并仍然raise SystemExit("FOOBAR")?这对某些人来说可能是基础知识,但实际上我对此有相当大的困难。

最佳答案

返回和提高是互斥的。

触发 SystemExit 将结束脚本。一些清理例程开始运行,如果调用者真的非常想要,他们可以捕获 SystemExit 并取消它,但大多数情况下,您可以将其视为立即停止执行。调用者将永远没有机会看到返回值或对其执行任何有意义的操作。

返回意味着您希望脚本继续。继续可能意味着让调用者引发 SystemExit,或者可能意味着忽略错误,或者它可能意味着其他东西。这意味着什么取决于您,因为您是编写代码的人。

最后,你确定你应该处理这个错误吗?捕获异常只是为了将其变成系统关闭可能不是最有用的行为。这不是一种处理问题的用户友好方式,它隐藏了您从堆栈跟踪中获得的所有有用的调试信息。

关于python - 如何返回值并引发异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21246867/

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