簡體   English   中英

添加到集合時的現有Java異常會超出固定大小嗎?

[英]Existing Java exception for when adding to a collection would exceed fixed size?

嘗試將項目添加到固定大小的自定義集合時,是否存在現有的Java異常,該操作會導致集合超出其大小? 集合是隊列的一種形式,因此它的接口不會公開“索引”的概念,否則我將使用IndexOutOfBoundsException。

JDK中的ArrayBlockingQueue已經具有此用例,並且在集合已滿的情況下引發IllegalStateException

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

拋出:IllegalStateException-如果此隊列已滿

因此, IllegalStateException是Java在這種情況下已經使用的異常。

您還可以引發IllegalArgumentException僅是因為,正如文檔所述,它是...

被拋出以指示方法已傳遞了非法或不適當的參數。

考慮到收集和方法有據可查,這在技術上也是正確的。 然后將假定客戶有責任在插入之前檢查容量。

您可以手動引發IndexOutOfBoundsException。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM