java比較 - 為什麼Python異常名為“Error”?




python java比較 (4)

為什麼Python異常名為“Error”(例如ZeroDivisionErrorNameErrorTypeError )而不是“Exception”(例如ZeroDivisionExceptionNameExceptionNameException )。

我來自Java背景並且最近開始學習Python,因此這令人困惑,因為在Java中,錯誤和異常之間存在區別。

Python也有區別嗎?

https://code.i-harness.com



  1. 您沒有在名稱中使用“Class”命名每個類,並且在名稱中使用“_variable”命名每個變量。 使用“Exception”一詞命名異常的名稱相同。 名稱應該說明對象的含義。 '錯誤'是大多數例外的含義。

  2. 並非所有例外都是錯誤。 SystemExitKeyboardInterruptStopIterationGeneratorExit都是例外而不是錯誤。 實際錯誤中的“錯誤”一詞顯示了差異。

  3. '錯誤'比'異常'短。 可以在代碼寬度中保存幾個字符而不會丟失意義。 這有所不同。


它只是命名。 在Java中, java.lang.Error與其他Throwable不同,因為需要取消選中這些類型的錯誤。 在Python中,所有異常都是未經檢查的,因此區別是沒有意義的。


我相信這個約定來自PEP 8 - Python代碼風格指南

例外名稱

因為異常應該是類,所以類命名約定適用於此處。 但是,您應該在異常名稱上使用後綴“Error”(如果異常實際上是錯誤)。





exception