我的工作场所规定了不使用异常的规则(允许捕捉)。如果我有这样的代码
def f1()
if bad_thing_happen():
raise Exception('bad stuff')
...
return something
我可以将其更改为
def f1()
if bad_thing_happen():
return [-1, None]
...
return [0, something]
f1 调用者会是这样的
def f1_caller():
code, result = f1(param1)
if code < 0:
return code
actual_work1()
# call f1 again
code, result = f1(param2)
if code < 0:
return code
actual_work2()
...
在 Python 中有比这更优雅的方法吗?