[英]False positive in SonarQube squid:S2583
注意:此处的代码只是重新创建的最少代码,导致此问题的代码实际上涉及InitialContext
对象。
SonarQube 规则鱿鱼:S2583,
更改此条件,使其不总是评估为“真”
实例化对象时似乎会产生误报,即使构造函数抛出已检查的异常也是如此。 作为一个最小的例子,
public void falsePositive()
{
TestObject myValue = null;
try
{
myValue = new TestObject();
}
catch (Exception e)
{
e.printStackTrace();
}
finally
{
if (myValue != null)
{
System.out.println("Not null");
}
}
}
将TestObject
声明为
public class TestObject
{
public TestObject() throws Exception
{
throw new Exception();
}
}
这会在if (myValue != null)
行上产生一个问题,暗示myValue
始终是非空的,但显然不是这种情况。
这是规则中的错误,还是我只是在这里遗漏了什么?
此问题是由于某些流分析错误引起的,已在 sonar java 插件版本 3.9 中解决
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.