最近在作一个项目,项目运行时,老是提示:java.util.NoSuchElementException.错误没有具体到code的行号,因此不容易debug.
今天总算找到了root cause,so share it:java
报错信息:spa
Exception in thread "main" java.util.NoSuchElementException at java.util.AbstractList$Itr.next(AbstractList.java:350) at sprint.reporter.SprintReporter.process(Unknown Source) at sprint.main.SprintMain.main(Unknown Source) Java Result: 1
报错位置:
猜想是某个interator出现了越界.debug
while(iter.hasNext()) { ArrayList<SprintUserStory> undoneUserStoriesList = SprintUtil.getUndoneUserStoriesList(iter.next().getID(),iter.next().getPkey()); //Root cause if(undoneUserStoriesList.size() >0){ willdonefeautre--; }
改正:code
Root cause其实就是多用了一次iter.next(),因此报了迭代器错误。blog
while (iter.hasNext()) { JIRAFeature jirafeaturetemp = iter.next(); ArrayList<SprintUserStory> undoneUserStoriesList = SprintUtil.getUndoneUserStoriesList(jirafeaturetemp.getID(),jirafeaturetemp.getPkey()); if(undoneUserStoriesList.size() >0){ willdonefeautre--; }