我使用此try
/except
语句有两个目标。
return
值为1;如果发生任何问题,则需要return
值为0。 我有
SystemExit()
值工作。我也有raise SystemExit("FOOBAR")
工作。但是在一起,他们没有工作。我的Python脚本(相关):
except IOError:
value_to_return = 0
return value_to_return
raise SystemExit("FOOBAR")
这样,它将完全忽略
raise SystemExit("FOOBAR")
行。我该如何获取返回的值和ojit_code呢?这对于某些人可能是基本的,但实际上我遇到了很多困难。 最佳答案
归还和抚养是互斥的。
提高SystemExit
将结束脚本。一些清除例程可以运行,如果调用者确实想要,它们可以捕获SystemExit
并将其取消,但是大多数情况下,您可以将其视为在此处停止执行。调用者将永远不会有机会看到返回值或对其执行任何有意义的操作。
返回意味着您希望脚本继续。继续可能意味着让调用者提出SystemExit
,或者可能意味着忽略该错误,或者可能意味着其他事情。意味着什么取决于您,因为您是编写代码的人。
最后,您确定完全应该处理此错误吗?仅捕获异常以将其转变为系统关闭可能不是最有用的行为。这不是处理问题的用户友好方法,它隐藏了您从堆栈跟踪中获得的所有有用的调试信息。