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」をご参照ください。
関連記事
- 日付・時刻の基本
- Date, CalendarではなくLocalDateTime, ZonedDateTimeを使おう
- 文字列と日付・時刻の変換
- 日時と曜日の計算
- 現在時刻(日時)の取得いろいろ
- 現在の曜日(DayOfWeek)を取得
- ZoneIdとZoneOffsetの違い
- API 使用例
- DateTimeException (日付・時刻の例外)
- DayOfWeek (曜日)
- Duration (時間の量)
- LocalDate (日付・タイムゾーンなし)
- LocalDateTime (日時・タイムゾーンなし)
- LocalTime (時刻・タイムゾーンなし)
- Month (月)
- Instant (時点)
- OffsetDateTime (日時・オフセットあり)
- OffsetTime (時刻・オフセットあり)
- Period (日付の量)
- TemporalAdjusters (日時の調整ユーティリティ)
- Year (年)
- ZonedDateTime (日時・タイムゾーンあり)
- ZoneId (タイムゾーンID)
- ZoneOffset (タイムゾーン・オフセット)