1use core::error::Error;
4use core::fmt;
5
6#[non_exhaustive]
8#[derive(Debug)]
9pub enum DateTimeError {
10 InvalidMonth,
12 InvalidMonthDay,
14 InvalidHour,
16 InvalidMinute,
18 InvalidSecond,
20 InvalidNanoseconds,
22}
23
24impl fmt::Display for DateTimeError {
25 fn fmt(&self, f: &mut fmt::Formatter) -> Result<(), fmt::Error> {
26 match self {
27 Self::InvalidMonth => f.write_str("invalid month"),
28 Self::InvalidMonthDay => f.write_str("invalid month day"),
29 Self::InvalidHour => f.write_str("invalid hour"),
30 Self::InvalidMinute => f.write_str("invalid minute"),
31 Self::InvalidSecond => f.write_str("invalid second"),
32 Self::InvalidNanoseconds => f.write_str("invalid nanoseconds"),
33 }
34 }
35}
36
37impl Error for DateTimeError {}