[英]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.