Java : NullPointerException - API使用例
NullPointerException (Java SE 21 & JDK 21) の使用例まとめです。
だいたいのメソッドを網羅済みです。
API仕様書のおともにどうぞ。
概要
NullPointerException は、オブジェクトが null のときにメソッドを使おうとすると発生する 非チェック例外 です。
また、パラメータが null かチェックする Objects.requireNonNull でも、パラメータが null のときに NullPointerException が発生します。
基本的に NullPointerException が発生したら、それはプログラムに問題があるときです。
NullPointerException が 発生しない ようにプログラムを修正しましょう。
( try ~ catch で NullPointerException を握りつぶすことはおすすめしません)
関連記事:例外 vs. 戻り値でエラーチェック
final String str1 = "abcd";
final var upperCase1 = str1.toUpperCase();
System.out.println(upperCase1); // ABCD
try {
final String str2 = null;
final var upperCase2 = str2.toUpperCase();
} catch (NullPointerException e) {
System.out.println("NullPointerException! : " + e.getMessage());
}
// 結果
// ↓
//NullPointerException! : Cannot invoke "String.toUpperCase()" because "str2" is null
class Sample {
private final String value;
Sample(String value) {
this.value = Objects.requireNonNull(value, "value is null");
}
@Override
public String toString() {
return value;
}
}
final var aaa = new Sample("abcd");
System.out.println(aaa); // abcd
try {
final var bbb = new Sample(null);
} catch (NullPointerException e) {
System.out.println("NullPointerException! : " + e.getMessage());
}
// 結果
// ↓
//NullPointerException! : value is null
コンストラクタ
NullPointerException ()
final var e = new NullPointerException();
System.out.println(e); // java.lang.NullPointerException
NullPointerException (String s)
final var e = new NullPointerException("abcde");
System.out.println(e); // java.lang.NullPointerException: abcde
System.out.println(e.getMessage()); // abcde
メソッド
String getMessage ()
final var e = new NullPointerException("abcde");
System.out.println(e); // java.lang.NullPointerException: abcde
System.out.println(e.getMessage()); // abcde
Throwableで宣言されたメソッド
addSuppressed, fillInStackTrace, getCause, getLocalizedMessage, getStackTrace, getSuppressed, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString
「Java API 使用例 : Throwable」をご参照ください。
関連記事
- API 使用例
- Error (エラー)
- Exception (チェック例外)
- RuntimeException (非チェック例外)
- ArithmeticException (算術例外)
- ArrayIndexOutOfBoundsException
- ArrayStoreException
- CancellationException
- ClassCastException (キャスト例外)
- ConcurrentModificationException (並列処理例外)
- DateTimeException (日付・時刻の例外)
- DateTimeParseException (日付・時刻の解析例外)
- IllegalArgumentException
- IllegalStateException
- IndexOutOfBoundsException
- NoSuchElementException
- PatternSyntaxException
- StringIndexOutOfBoundsException
- UnsupportedOperationException
- Throwable