与えられた入力が有効なものではないことをほのめかそうとしているのでIllegalArgumentException
、同じ理由を示すメッセージとともに使用する必要があります。
throw new IllegalArgumentException("Input specified has more elements then expected");
またはException
、条件を一意に定義する独自のものを作成することもできます。
例外の理由である要素の数以来、私はどういうわけか感じていますが、IndexOutOfBoundsException
これは特定のシナリオで理にかなっています。
throw new IndexOutOfBoundsException("Expected size is 1, submitted input has size " + list.size());
編集:コメントによると
リストがメソッド呼び出しの一部ではなく、メソッドが呼び出されたオブジェクトに属していることを考えると、この場合list.size() > 1
、オブジェクトが正しい状態にないことを意味し、適切なエラー メッセージを持つカスタマイズされたバージョンIllegalStateException
またはIllegalStateException
それ自体がより適切になります。