相关疑难解决方法(0)

null参数的IllegalArgumentException或NullPointerException?

我有一个简单的属性的setter方法,null不适合这个特定的属性.我总是在这种情况下被撕裂:我应该扔一个IllegalArgumentException,还是一个NullPointerException?从javadocs看,两者似乎都合适.有某种理解标准吗?或者这只是你应该做的任何事情之一,而且两者都是正确的?

java null exception nullpointerexception illegalargumentexception

535
推荐指数
17
解决办法
15万
查看次数

是否有一个空指针异常代码气味?

最近我的一个同事用一些代码写了一个代码来捕获整个方法的空指针异常,然后返回一个结果.我指出了空指针有多种原因,所以我们将其改为对一个结果进行防御性检查.

但是,捕获NullPointerException似乎对我来说不对.在我看来,Null指针异常是错误代码的结果,而不是系统中的预期异常.

是否有任何情况下捕获空指针异常是有意义的?

java nullpointerexception

57
推荐指数
4
解决办法
2万
查看次数

是否可以通过编程方式抛出NullPointerException?

当有后置条件时,方法的返回值不能为空,可以做什么?

我可以

assert returnValue != null : "Not acceptable null value";
Run Code Online (Sandbox Code Playgroud)

断言可以关闭!

所以可以这样做

if(returnValue==null)
      {
           throw new NullPointerException("return value is null at method AAA");
      }
Run Code Online (Sandbox Code Playgroud)

或者,对于这样的条件,使用用户定义的异常(如NullReturnValueException)会更好吗?

java exception-handling nullpointerexception throw

44
推荐指数
7
解决办法
7万
查看次数

使用投掷时我应该使用投掷吗?

我的方法有一个抛出的返回类型NullPointerException.

public class Student {
    public String studentOne() {    
        //code to get name
        if(name == null)
            throw new NullPointerException("Error");
        else
            return name; 
    }
}
Run Code Online (Sandbox Code Playgroud)

我的问题是..我应该public String studentOne throws NullPointerException在抛出新的异常时使用吗?

PS:我知道这不是最好的实践nullPointerException.但它在我的项目中是必需的

java nullpointerexception

3
推荐指数
1
解决办法
102
查看次数

除RuntimeException之外的异常

除了Java中的RuntimeException之外,是否有可能发生异常?谢谢.

java exception

2
推荐指数
2
解决办法
2628
查看次数