我的工作场所规定了不使用例外的规则(允许捕捉)。如果我有这样Python:我不允许引发异常。还有其他优雅的Python方法吗?
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更优雅的方式比这个?
告诉你我的工作地点,我讨厌他们。至于优雅的方式,那么,这将是例外....你在做什么是好的(这很像c错误代码,只是更好),但我会返回一个元组而不是一个列表。这样,你可以说成功,结果= f1(参数) – JoshD 2010-10-06 03:40:01
没有例外编写C++代码是有用的理由,但没有它们编写Python代码是无稽之谈。例外是Python的绝对基础。我强烈建议寻找最近的塑料蝙蝠,并尽可能多次击中你的破坏性不称职的老板。 – 2010-10-06 03:41:26
我和格伦在一起。高尔夫俱乐部虽然更好,同样的力量应用在一个较小的区域。 – dutt 2010-10-06 03:46:21