Findbug告诉我不要抛出NullPointerException

时间:2016-07-08 15:18:52

标签: java exception-handling findbugs

运行FindBug我收到了以下代码的警告:

public select(List<T> elements) {
    if (elements == null)
        throw new NullPointerException();

通过以下说明:

  

避免抛出NullPointerException - 因为大多数情况令人困惑   人们会认为虚拟机扔了它。考虑使用   而是一个IllegalArgumentException;这将被清楚地看作是一个   程序员发起的异常。

但是,我一直认为为null参数抛出空指针异常是正确的。我在ArrayList的实现中寻找例子,我可以找到类似的东西:

    public boolean tryAdvance(Consumer<? super E> action) {
        if (action == null)
            throw new NullPointerException();

那么,这真的不对吗?为什么?为什么Findbug告诉我这是错的?

0 个答案:

没有答案