当前位置: 首页 > 知识库问答 >
问题:

sonar中从未抛出空指针取消引用问题

孔鸿宝
2023-03-14

我已经在我的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不能。

谢谢你的帮助

共有1个答案

江承嗣
2023-03-14

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())上; 我试图用 但它引入了其他问题。 谁能指导一下吗?