0

如何在 eventet 上添加断点java.lang.IndexOutOfBoundsException

System.out.println(this.getItem(j+1).getUniqueId() + ", Service time: " + this.getItem(j+1).getServiceTime() + ", Arrival time: " + this.getArrivalTimes().get(j+1));

问题是要么this.getItem(j+1)失败this.getArrivalTimes().get(j+1)。但是我检查过j+1它永远不会超过列表大小。因此,我想添加一个断点来查看原因。没有断点就很难调试这行代码,因为它被执行了很多次,而且当错误发生时调试器并没有停止。

4

3 回答 3

1

根据您的 IDE,应该可以设置异常断点。在 Eclipse 中,它在断点视图中有一个小图标,看起来像一个带有感叹号的“J”。在 Intellij 中,您可以使用“查看断点”编辑断点,然后通过添加断点菜单添加异常断点。

于 2013-10-30T12:09:10.090 回答
0

但是我检查了 j+1 永远不会超过列表大小

它不应该超过集合的大小 - 1!Java 中的集合是从 0 开始的,所以最后一个元素的索引是list.size()-1

于 2013-10-30T12:06:58.287 回答
0

您不需要在异常本身上设置断点,您可以将语句分成不同的行以查看它发生的位置。或者只是将条件断点设置到具有条件的行collection.size < j

于 2013-10-30T12:08:44.083 回答