1
如果我調用可能會引發ValueError或AttributeError的函數(例如foo()),並且在ValueError的情況下我想提供另一種方法(例如call bar()),那麼最佳方法是什麼?在AttributeError的情況下,我想重新引發異常?再次引發混淆
明確地重新提出一個特定的(這裏是AttributeError)異常嗎?
try: foo() # may raise ValueError or AttributeError except ValueError: bar() except AttributeError: raise
或者什麼都不做(重新隱含)?
try: foo() # may raise ValueError or AttributeError except ValueError: bar()
更新1:
什麼是寫一庫(至少我知道它會通過不同的用戶使用的模塊)的情況下,更好的方法?明確地重新提出並記錄重新提出的函數或只記錄函數(寫作它可能隱含地引發特定異常)?
你」如果你隱式提高AttributeError –
@VasiliSyrakis並不是真的,那將是完全相同的使用'raise' – user312016
2.就好了 –