FindBugs不能抛出NoSuchElementException

时间:2016-01-14 18:14:51

标签: findbugs nosuchelementexception

我有以下代码段:

@Override
public Message next() {
    if (!this.hasNext()) {
        throw new NoSuchElementException();
    }
    // return statement
}

但是,findbugs说有BAD_PRACTICE:

  

它:Iterator next()方法不能抛出NoSuchElementException   (IT_NO_SUCH_ELEMENT)   该类实现了java.util.Iterator   接口。但是,它的next()方法无法抛出   java.util.NoSuchElementException。应该改变next()方法   所以如果在没有时调用它会抛出NoSuchElementException   要返回更多元素。

我不明白如何修复代码以传递findbugs检查。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

尝试使该项目成为mvn clean。我有同样的问题,因为SpotBugs使用以前编译的类而不进行更改。因此,mvn clean或手动删除的此类对我有帮助。

更新。另外,您可能不需要从hasNext()方法中调用next()