添加到集合时的现有Java异常将超过固定大小?

时间:2016-02-18 04:19:45

标签: java exception collections

当尝试将项添加到固定大小的自定义集合时,是否存在可以抛出的现有Java异常,其中操作会导致集合超出其大小?集合是一种队列形式,因此" index"的概念没有被其界面暴露,否则我会使用IndexOutOfBoundsException。

3 个答案:

答案 0 :(得分:3)

JDK中的

ArrayBlockingQueue已经具有此用例,并且在集合已满的情况下抛出IllegalStateException

https://docs.oracle.com/javase/7/docs/api/java/util/concurrent/ArrayBlockingQueue.html#add(E)

  

抛出:   IllegalStateException - 如果此队列已满

所以IllegalStateException是Java在这种情况下已经使用的例外。

答案 1 :(得分:1)

你也可以抛出一个IllegalArgumentException,因为正如文档所述,它是......

  

抛出表示某个方法已被传递为非法或   不恰当的论点。

这也是技术上正确的,因为收集和方法已有详细记录。然后,假设客户有责任在插入之前检查容量。

答案 2 :(得分:1)

您可以手动抛出IndexOutOfBoundsException。

 throw new IndexOutOfBoundsException("your message goes here");