我的工作場所規定了不使用例外的規則(允許捕捉)。如果我有這樣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