私の職場では、例外を使用しないというルールが課されています (キャッチは許可されています)。このようなコードがある場合
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 でこれよりもエレガントな方法はありますか?