最近在做一個項目,項目運行時,總是提示:java.util.NoSuchElementException.錯誤沒有具體到code的行號,所以不容易debug.
今天總算找到了root cause,so share it:
報錯信息:
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出現了越界.
while(iter.hasNext()) { ArrayList<SprintUserStory> undoneUserStoriesList = SprintUtil.getUndoneUserStoriesList(iter.next().getID(),iter.next().getPkey()); //Root cause if(undoneUserStoriesList.size() >0){ willdonefeautre--; }
改正:
Root cause其實就是多用了一次iter.next(),所以報了迭代器錯誤。
while (iter.hasNext()) { JIRAFeature jirafeaturetemp = iter.next(); ArrayList<SprintUserStory> undoneUserStoriesList = SprintUtil.getUndoneUserStoriesList(jirafeaturetemp.getID(),jirafeaturetemp.getPkey()); if(undoneUserStoriesList.size() >0){ willdonefeautre--; }