」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > IllegalArgumentException 或 NullPointerException:Setter 方法中空參數的哪一個例外?

IllegalArgumentException 或 NullPointerException:Setter 方法中空參數的哪一個例外?

發佈於2024-12-21
瀏覽:111

IllegalArgumentException or NullPointerException: Which Exception for a Null Parameter in Setter Methods?

何時為空參數拋出IllegalArgumentException 或NullPointerException

定義setter 方法時,開發人員經常面臨是否拋出IllegalArgumentException 的困境或定義setter 方法時,開發人員經常面臨是否拋出IllegalArgumentException 的困境或gument null 參數的NullPointerException。這兩個異常根據其 JavaDoc 描述而顯得相關:

  • IllegalArgumentException: 指示非法或不適當的參數。
  • NullPointerException: 拋出時null 使用不當。

但是,適當的選擇是

但是,適當的選擇是
    IllegalArgumentException (IAE)
  • 原因如下:
  • 預期用法: NPE 用於與空取消引用相關的運行時錯誤,而IAE 指定用於驗證參數。
  • 誤導性追蹤:堆疊追蹤中的 NPE 可能建議為 null取消引用而不是錯誤的參數值。
  • 一致性: IAE 通常用於其他無效參數錯誤,因此首選一致性。
Java API 不一致:

雖然 Java API 有時會使用 NPE 來表示 null 參數,但不應模擬其不一致的情況。

IllegalArgumentException or NullPointerException: Which Exception for a Null Parameter in Setter Methods?
因此,對於 null 不合適的 setter 方法,應該使用 IllegalArgumentException 來傳達參數驗證的意圖。

最新教學 更多>

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3