-1

我有一种情况,我可能会遇到可能的空值,我不希望我的程序崩溃。它只发生在一小部分用户身上,我不完全确定为什么,但我知道正在执行此操作的代码部分。基本上isAchieved()是一个应该返回一个布尔值的检查,但在少数情况下它返回一个空值。这是 scoreloop 库的一部分,我怀疑该错误可能与他们的代码有关。

而不是强制关闭并退出程序,有没有办法检查这个值是否会返回一个空值,如果是这种情况,只需跳过这部分代码?

if (_achievements[ltc].isAchieved()) {
   // Do stuff for 99.9% of users here, but skip if .isAchieved() would force close
}
4

1 回答 1

1
        boolean checker=false;
        try{
            checker=_achievements[ltc].isAchieved();
        }
        catch(NullPointerException e){
        }
        if (checker) {
           //content
        }

你有没有想过这样做?

于 2012-05-19T09:44:25.907 回答