Java : IllegalArgumentException - API使用例
IllegalArgumentException (Java SE 21 & JDK 21) の使用例まとめです。
だいたいのメソッドを網羅済みです。
API仕様書のおともにどうぞ。
概要
メソッドのパラメータが不正だった場合に使う非チェック例外です。
とても汎用的に使えるおすすめの API です。
public void func(String str) {
if (str == null) {
throw new IllegalArgumentException("str is null!");
}
if (str.isEmpty()) {
throw new IllegalArgumentException("str is empty!");
}
System.out.println(str);
}
func("abcd"); // abcd
func(null); // java.lang.IllegalArgumentException: str is null!
func(""); // java.lang.IllegalArgumentException: str is empty!
もし、null かどうかのチェックだけであれば、代わりに Objects.requireNonNull を使うのがおすすめです。
public void func(String str) {
Objects.requireNonNull(str, "str is null!");
System.out.println(str);
}
func("abcd"); // abcd
func(null); // java.lang.NullPointerException: str is null!
if文が不要で1行で書けます。コードがシンプルになりますね。
1つ違う点としては、IllegalArgumentException ではなく NullPointerException を発生させます。
関連記事:メソッドのパラメータ(引数)は使う側でチェックしよう
コンストラクタ
IllegalArgumentException ()
final var e = new IllegalArgumentException();
System.out.println(e); // java.lang.IllegalArgumentException
IllegalArgumentException (String s)
final var e = new IllegalArgumentException("abcde");
System.out.println(e); // java.lang.IllegalArgumentException: abcde
System.out.println(e.getMessage()); // abcde
IllegalArgumentException (String message, Throwable cause)
final var cause = new IllegalArgumentException("XYZ");
final var e = new IllegalArgumentException("abcde", cause);
System.out.println(e); // java.lang.IllegalArgumentException: abcde
System.out.println(e.getMessage()); // abcde
System.out.println(e.getCause()); // java.lang.IllegalArgumentException: XYZ
System.out.println(e.getCause().getMessage()); // XYZ
IllegalArgumentException (Throwable cause)
final var cause = new IllegalArgumentException("XYZ");
final var e = new IllegalArgumentException(cause);
System.out.println(e); // java.lang.IllegalArgumentException: java.lang.IllegalArgumentException: XYZ
System.out.println(e.getMessage()); // java.lang.IllegalArgumentException: XYZ
System.out.println(e.getCause()); // java.lang.IllegalArgumentException: XYZ
System.out.println(e.getCause().getMessage()); // XYZ
Throwableで宣言されたメソッド
addSuppressed, fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, getSuppressed, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString
「Java API 使用例 : Throwable」をご参照ください。
関連記事
- API 使用例
- Error (エラー)
- Exception (チェック例外)
- RuntimeException (非チェック例外)
- ArithmeticException (算術例外)
- ArrayIndexOutOfBoundsException
- ArrayStoreException
- CancellationException
- ClassCastException (キャスト例外)
- ConcurrentModificationException (並列処理例外)
- DateTimeException (日付・時刻の例外)
- DateTimeParseException (日付・時刻の解析例外)
- IllegalStateException
- IndexOutOfBoundsException
- NoSuchElementException
- NullPointerException
- PatternSyntaxException
- StringIndexOutOfBoundsException
- UnsupportedOperationException
- Throwable