tz/error/
datetime.rs

1//! Date time error types.
2
3use core::error::Error;
4use core::fmt;
5
6/// Date time error
7#[non_exhaustive]
8#[derive(Debug)]
9pub enum DateTimeError {
10    /// Invalid month
11    InvalidMonth,
12    /// Invalid month day
13    InvalidMonthDay,
14    /// Invalid hour
15    InvalidHour,
16    /// Invalid minute
17    InvalidMinute,
18    /// Invalid second
19    InvalidSecond,
20    /// Invalid nanoseconds
21    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 {}