這個問題涉及到好的和壞的做法: 從C編程中,我習慣於在函數的開始處檢查傳遞的參數,從而在出現錯誤時返回錯誤代碼(例如NULL
指針)。Python何時會出現錯誤?
在Python中,當允許通過的Queue
對象是None
或錯誤類型,並且試圖對此無效隊列對象進行操作時,會自動引發異常。它是很好的做法,檢查數據類型提前像
def foo(queue):
if issubclass(Queue, arg):
raise ...
# ...
還是應該錯誤處理,而被留下來作爲呼叫功能的任務,因爲事情是錯的呢?我很想用第一種方式去做,但是覺得它可能是錯誤的。
我認爲所有好的功能和模塊應該有內置的錯誤處理方法。 – ShreyasG
除了別的,鴨子打字的重點在於你**不應**測試某物是任何特定類型的子類。如果你需要檢查任何東西,你會檢查它是否有你需要調用的屬性或方法。 –
我認爲提早失敗對於任何語言都是很好的做法。 – khelwood