不要停止对例外的评估吗?

时间:2014-11-13 14:21:41

标签: java pointers exception null

我目前在if语句中有很长的OR条件列表。但是,其中一些可能会或可能不会被初始化。

是否可以指示java忽略空指针异常并继续评估if语句中的其余条件而不是跳转到catch?

我需要在对象列表上调用一个方法来检查某个值,但是某些对象可能没有被初始化。

由于

3 个答案:

答案 0 :(得分:1)

是的,通过检查变量的值

if(value != null) {
   // execute code here
}

您可以捕获异常,并继续执行代码的其他线程。但是这个if块只是简单地执行代码,并且不会引发NullPointerException。

但请记住,代码只会在值不为null时执行。如果值为null,则代码块将被跳过

答案 1 :(得分:1)

据我所知,没有。您可能应该考虑Null Object pattern,因此没有任何反应,但您可以继续执行。

一个例子:

Object onull = new NullObject();
Object oreal = new RealObject();

if(onull.contains(xy) || oreal.contains(xy)) 
    ....
// the onull.contains() will always return true
// only the oreal instance will actually perform the contains check

答案 2 :(得分:1)

你的情况应该是这样的:

if((a != null && a == 1) || (b != null && b == 2))

这只是一个例子,但是如果变量有可能为null,你应该在测试前检查null ...

相关问题