我在处理一些例外时遇到问题。如果你能指出我的方向,那将是很好的,这样我就可以更好地理解异常,并学会更有效地处理异常。通过命令行参数,它将单个字符串拆分为4个不同的字符串,异常处理的错误消息将打印出预期的4个元素但得到3个或任意数量的项目,例如预期的4个元素但得到2个。
答案 0 :(得分:1)
我会将InventoryReader
更改为以下内容:
for (String row : rows) {
String[] elements = row.split("\\|");
if (elements.length != 4) {
throw new ApplicationException("Expected 4 elements, got " + elements.length);
}
items[i++] = new Item(elements[0], elements[1], Integer.valueOf(elements[2]),
Float.valueOf(elements[3]));
}
然后您可以确定项目数量是您所期望的,并且您不必处理ArrayIndexOutOfBoundsException
,因为这永远不会发生。