如何抛出空指针异常和where

时间:2015-10-08 11:41:39

标签: java exception-handling

当我有一个潜在的空输入时......最好总是检查它:

public void doSomething(String str) {

    if (str == null)
        throw new NullPointerException();


    processData(str);
}

或传递无效数据,并等待“processData()”抛出nullPointerException:

public void doSomething(String str) {       

    processData(str);
}

1 个答案:

答案 0 :(得分:6)

这是固执己见的,但是最好把它放在第一层:

如果你有一个stracktrace并在库实现中看到一个NPE(内心深处),那么不清楚它是由库中的错误还是由你的非法论证造成的。

出于同样的原因,我建议使用描述性IllegalArgumentException代替NPE:

if (str == null)
    throw new IllegalArgumentException("str is null");

(并给str一个更好的名字。)