参数使用中的UR异常

时间:2016-03-29 18:43:15

标签: java sonarqube lint dataflow

以下一段代码被SonarQube标记为在运行PMD规则时出现UR异常,这让我感到困惑:

public void doSomething(String filename) {
    final Resource resource = new ClassPathResource(filename);
    //do something with the resource ...
}

我能理解DU(因为变量是短暂的),但为什么是UR?

根据数据流分析论文,UR代表“Undefined-Referenced”,DU代表“Defined-Undefined”。

第一个引用引用未定义的变量(可能的错误),第二个引用最近定义的变量未定义时(例如当你超出范围并且该变量被取消引用时)

0 个答案:

没有答案