如何在java中处理bug“dead store to local variable”?

我写了一个简单的测试代码。 这是一个圆圈。 我想大多数人都可以想象什么是圆圈类,所以我不会粘贴它。

在测试代​​码中,我尝试使用无效点测试圆形构造函数,并假设抛出exception。 但是发生了一个错误。 我在线检查,但仍然不知道如何解决问题。 有没有人可以帮助我? 谢谢

代码信息,bug在下面代码的最后一句中

/** * Tests that the Circle constructor throws an exception for center Point. */ @Test (expected = IllegalArgumentException.class) public void testIllegalCenter() { //Instantiates a circle with an incorrect center point. @SuppressWarnings("unused") final Circle testCircle = new Circle(VALID_RADIUS, INVALID_POINT, VALID_COLOR); } 

错误报告

错误:在CircleTest.testIllegalCenter()中将测试存储到testCircle

此指令为局部变量赋值,但不会在任何后续指令中读取或使用该值。 通常,这表示错误,因为从未使用计算的值。

请注意,Sun的javac编译器通常会为最终的局部变量生成死存储。 因为FindBugs是一个基于字节码的工具,所以没有简单的方法来消除这些误报。

只需删除变量并像这样调用构造函数:

 @Test (expected = IllegalArgumentException.class) public void testIllegalCenter() { new Circle(VALID_RADIUS, INVALID_POINT, VALID_COLOR); }