我已经在我的sonar实例上测试了规则“正确性--可能的空指针取消引用”和“正确性--在异常路径的方法中可能的空指针取消引用”。不幸的是,以下代码从未被检测为错误
public ResultatsDTO getContent(String userName, String roid) {
ResultatsDTO resultats = null;
try {
resultats = GetDocContentCaller.instance().getDocumentContent(
userName, roid);
} catch (Exception e) {
LOGGER.error(
"Erreur dans l'appel de l'ejb lors du telechargement du document docBaseId"
+ roid, e);
if (resultats.getErrorCode() == 0) {
resultats.setErrorCode(ERROR_CODE_104);
resultats.setMessage("erreur lors de l appel du web service");
}
}
return resultats;
}
Netbeans能够正确检测到此问题,但sonar 3.6.1不能。
谢谢你的帮助
sonar
是一个代码审查工具,而不是编译工具。这是一个编译错误
它会被编译器
检测到。
我正在通过Sonarqube在代码上运行findbugs,我得到一个空指针解引用错误: 有一个语句分支,如果执行,保证空值将被取消引用。 故障代码很简单: 我想知道这怎么可能。NPE唯一可能的地方是调用x.compareTo(y)时,但如果x=null,Java将永远不会分析该分支,对吗? 这是一个bug,还是我遗漏了Java分析这条语句的方法? 更新 谢谢你的意见。最后我建议他们改成: 我发现这
我试图用以下代码指出声纳中的关键问题: 我也做了下面的更改,但仍然不起作用 请帮忙。
问题内容: 我正在android中做一个应用程序,因此我需要访问com.android.internal.telephony API。现在,我可以访问这些API了,但问题是,无论我在自己的类中调用Class Call.java方法的什么地方,都会抛出。您可以在http://hi- android.info/src/com/android/internal/telephony/Call.java.h
嗨我有以下方法: 不得不提的是,startDate和endDate是长变量。我尝试在if条件中添加null检查,也尝试使用longValue()方法,但没有结果。你知道我怎样才能解决这个问题吗?可能是fndBugs端的bug?
由于上面代码上调用的方法的返回值,我得到了可能的空指针解引用。 有人能让我知道确切的问题和为什么它是一个问题吗? 提前道谢!如果需要其他细节,请告诉我。
我从Sonar那里得到问题:“由于调用方法的返回值,样式-可能的空指针取消引用。findbugs:np_null_on_some_path_from_return_value。问题在lockuntil.after(new Date())上; 我试图用 但它引入了其他问题。 谁能指导一下吗?