假设我们有一个服务方法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