【发布时间】:2016-01-14 18:14:50
【问题描述】:
我有以下代码 sn-p:
@Override
public Message next() {
if (!this.hasNext()) {
throw new NoSuchElementException();
}
// return statement
}
但是,findbugs 说有 BAD_PRACTICE:
它:迭代器 next() 方法不能抛出 NoSuchElementException (IT_NO_SUCH_ELEMENT) 此类实现 java.util.Iterator 界面。但是,它的 next() 方法无法抛出 java.util.NoSuchElementException。 next() 方法应该改变 所以如果在没有时调用它会抛出 NoSuchElementException 更多元素返回。
我不明白如何修复代码以通过 findbugs 检查。有什么想法吗?
【问题讨论】:
-
真的是来自
java.util的NoSuchElementException吗?还是您不小心导入了另一个? -
是的,它是 java.util.NoSuchElementException
-
然后我们需要查看您的完整课程,或者更好的是您可以重现行为的最简单的课程。这可能是检测器的缺陷,也可能是您的代码的某些部分。
标签: findbugs nosuchelementexception