IndexOutOfBoundsException

IndexOutOfBoundsException

你好,我有这个程序设计任务,在这里我必须使用他们给我们使用的函数,因为它们给我们使用,我遇到的问题是这必须是无效的,而且我不允许使用System.out。 println();还是我的问题是如何在不更改方法 header 的情况下返回异常,还是使用System.out.println();?

public void deleteItem(String itemID){
    try {
        index = Change.indexOf(itemID);
        StockItems.remove(index);
        Change.remove(index);
    }
    catch (IndexOutOfBoundsException e) {
        System.out.println("ITEM " + itemID + " DOES NOT EXIST!");
    }
}

最佳答案

在您的catch块中执行以下操作:

catch (IndexOutOfBoundsException e) {
       throw new IndexOutOfBoundsException("ITEM " + itemID + " DOES NOT EXIST!");
}

由于IndexOutOfBoundsException是RuntimeException,因此不需要在方法中添加throw声明。

无论在哪里调用该函数,都可以添加catch块来读取错误消息,如下所示:
catch (IndexOutOfBoundsException ex) {
      System.out.println(ex.getMessage());
}

10-07 20:50