広告

Java : DateTimeParseException (日付・時刻の解析例外) - API使用例

DateTimeParseException (Java SE 19 & JDK 19) の使用例まとめです。
だいたいのメソッドを網羅済みです。
API仕様のおともにどうぞ。


概要

解析中にエラーが発生した場合にスローされる例外。

クラス構成

DateTimeParseException は、日付・時刻の解析に失敗したときに発生する非チェック例外です。
例えば、文字列を日付や時刻に変換しようとして失敗したときに発生します。

System.out.println("-- OK --");
final var date1 = LocalDate.parse("2100-12-31");
System.out.println("date : " + date1);

System.out.println("-- NG --");
try {
    final var date2 = LocalDate.parse("2100-12-40");
} catch (DateTimeParseException e) {
    System.out.println("DateTimeParseException! : " + e.getMessage());
}

// 結果
// ↓
//-- OK --
//date : 2100-12-31
//-- NG --
//DateTimeParseException! : Text '2100-12-40' could not be parsed:
// Invalid value for DayOfMonth (valid values 1 - 28/31): 40

コンストラクタ

DateTimeParseException (String message, CharSequence parsedData, int errorIndex)

指定されたメッセージを使用して新しい例外を構築します。

final var e = new DateTimeParseException("abcd", "2100-12-40", 8);
System.out.println(e); // java.time.DateTimeParseException: abcd
System.out.println(e.getMessage()); // abcd
System.out.println(e.getParsedString()); // 2100-12-40
System.out.println(e.getErrorIndex()); // 8

DateTimeParseException (String message, CharSequence parsedData, int errorIndex, Throwable cause)

指定されたメッセージと原因を使用して新しい例外を構築します。

final var cause = new DateTimeException("XYZ");
final var e = new DateTimeParseException("abcd", "2100-12-40", 8, cause);

System.out.println(e); // java.time.format.DateTimeParseException: abcd
System.out.println(e.getMessage()); // abcd
System.out.println(e.getParsedString()); // 2100-12-40
System.out.println(e.getErrorIndex()); // 8

System.out.println(e.getCause()); // java.time.DateTimeException: XYZ
System.out.println(e.getCause().getMessage()); // XYZ

メソッド

int getErrorIndex ()

エラーが検出されたインデックスを返します。

このメソッドの使用例は、DateTimeParseException(String message, CharSequence parsedData, int errorIndex) にまとめて記載しました。
そちらのAPI使用例をご参照ください。

String getParsedString ()

解析中だった文字列を返します。

このメソッドの使用例は、DateTimeParseException(String message, CharSequence parsedData, int errorIndex) にまとめて記載しました。
そちらのAPI使用例をご参照ください。

Throwableで宣言されたメソッド

addSuppressed, fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, getSuppressed, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString

Java API 使用例 : Throwable」をご参照ください。


関連記事

ページの先頭へ