這裏是捕捉和拋出異常給被叫方的的Python:返回錯誤,而不是拋出
def check(a):
data = {}
if not a:
raise Exception("'a' was bad")
return data
def doSomething():
try:
data = check(None)
except Exception, e:
print e
這裏的正常方式是一種替代+幾件事情我想:
- 「數據」是總是出現,'檢查'功能可以爲數據設置一些默認值,然後邏輯被包含在功能 中,不必重複。也意味着開發人員不會在發生異常時嘗試訪問數據。 (數據可以在「DoSomething的」功能最頂端被定義+分配一些默認)
你不必有嘗試/節選到處塞滿了「DoSomething的」功能
def check(a): errors = [] data = {} if not a: errors.append("'a' was bad") return data, errors def doSomething(): data, errors = check(None) if errors: print errors
它有什麼問題嗎?人們的意見是什麼?
取決於您對程序員的評價+評論;) – Metalstorm
其中一個不會簡單評論python代碼。 –