假設我們有一個服務方法getById(Long id)
,它根據它的id返回一個實體。在id爲null的情況下應該採取的適當措施是什麼?服務層:如果查詢參數爲null,返回什麼?
拋出IllegalArgumentException?
拋出NullPointerException? (番石榴Preconditions.checkNotNull這樣做)
return null?
因爲永遠不會有一個id == null的實體,返回null看起來並不好?我的意思是如果id不存在,那麼該方法無論如何都會返回null。
先決條件是很好的單線程,但在這種情況下拋出NullPointerException似乎極端。
這是什麼「最佳實踐」?
爲什麼方法簽名不能是'getById(long id)'而不是將NPE推送到服務使用者的代碼? – 2013-03-16 09:04:09