「駑馬十駕」を信念に IT系情報を中心に調べた事をコツコツ綴っています。

Javaアプリケーション開発では「想定外の入力」に対して適切にエラーを発生させ、プログラムの異常動作を防ぐことが重要です。その際によく使用される例外のひとつが IllegalArgumentException です。

本記事では、IllegalArgumentException の意味、発生するケース、使い方の例、そして例外設計のベストプラクティスまで徹底解説します。


IllegalArgumentExceptionとは?

IllegalArgumentException とは、

メソッドに不正な引数(値)が渡された場合にスローされる実行時例外(RuntimeException)

です。

例えば、年齢を受け取るメソッドに 負の値 が渡された場合など、
「引数の値が意味を成していない」状態で使われます。


なぜIllegalArgumentExceptionを使うのか?

✔ 不適切な入力を早期に検知
✔ 異常な状態を防ぎ、予測可能な動作を保証
✔ 開発者や利用側に明確なフィードバック

特に、ライブラリ・APIの開発時には重要です。
「どんな値が許容されるのか?」を明確にすることで利用者のミスを防げます。


IllegalArgumentExceptionの基本例

✅ 正の値のみ受け付けるメソッド例

チェックポイント

  • 条件式で検証

  • 明確なメッセージで何が悪いか伝える


Integerチューター:標準APIにも見る例

Java標準APIも積極的にこの例外を使っています。

例:Thread#setPriority(int priority)

Java公式の一貫性ある設計に従うことで、コード品質が向上します。


IllegalArgumentException vs 他の例外

例外使う場面
IllegalArgumentException引数の値が不正
NullPointerException引数がnull不可なのにnull
IllegalStateExceptionオブジェクトの状態が不正
IOExceptionI/O操作中の問題

ポイント

  • 値がおかしい→IllegalArgumentException

  • 状態がおかしい→IllegalStateException


ベストプラクティス:例外設計ガイド

✅ 1. 早めにチェックする(Fail Fast)

異常はできるだけ早く発見しましょう。

✅ 2. メッセージで原因を明示

悪い例(NG)

何が悪いのか分からない…

✅ 3. Javadocで事前に仕様を明記

APIの信頼性が向上します。

✅ 4. nullチェックはObjects.requireNonNullで簡潔に


ユースケース:バリデーションロジックの整理方法

例外処理が肥大化しないよう、専用バリデータクラスを作るアプローチも有効です。

利用例:


まとめ

ポイント内容
例外名IllegalArgumentException
意味不正な引数が渡された
目的予期しない動作を防ぐ
コツFail Fast、明確なメッセージ、仕様明記

良い例外設計はコードの信頼性・保守性を大きく高めます。
実務でも積極的に活用していきましょう!

Ads by Google

0 0
Article Rating
申し込む
注目する
guest
0 コメント一覧
最も古い
最新 高評価
インラインフィードバック
すべてのコメントを見る
0
あなたの考えが大好きです、コメントしてください。x