clia_local_offset/
error.rs

1//! Custom error type.
2
3use time::error::ComponentRange;
4use tz::TzError;
5
6/// Define error type.
7#[derive(Debug)]
8pub enum LocalOffsetError {
9    TzError(TzError),
10    ComponentRange(ComponentRange),
11}
12
13impl std::error::Error for LocalOffsetError {}
14
15impl From<TzError> for LocalOffsetError {
16    fn from(err: TzError) -> Self {
17        Self::TzError(err)
18    }
19}
20
21impl From<ComponentRange> for LocalOffsetError {
22    fn from(value: ComponentRange) -> Self {
23        Self::ComponentRange(value)
24    }
25}
26
27impl std::fmt::Display for LocalOffsetError {
28    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
29        match self {
30            LocalOffsetError::TzError(err) => write!(f, "{}", err),
31            LocalOffsetError::ComponentRange(err) => write!(f, "{}", err),
32        }
33    }
34}