diff options
Diffstat (limited to 'src/error.rs')
-rw-r--r-- | src/error.rs | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/src/error.rs b/src/error.rs index 192aa76..dbe7224 100644 --- a/src/error.rs +++ b/src/error.rs | |||
@@ -14,8 +14,12 @@ pub enum ErrorType { | |||
14 | ArgumentError, | 14 | ArgumentError, |
15 | ArgumentCountError, | 15 | ArgumentCountError, |
16 | ConfigError, | 16 | ConfigError, |
17 | DBError, | ||
17 | LibToml, | 18 | LibToml, |
19 | LibSql, | ||
20 | LibReq, | ||
18 | IoError, | 21 | IoError, |
22 | Other, | ||
19 | } | 23 | } |
20 | 24 | ||
21 | impl std::error::Error for MLError { | 25 | impl std::error::Error for MLError { |
@@ -30,18 +34,34 @@ impl fmt::Display for MLError { | |||
30 | ErrorType::ArgumentError => write!(f, "Wrong argument"), | 34 | ErrorType::ArgumentError => write!(f, "Wrong argument"), |
31 | ErrorType::ArgumentCountError => write!(f, "Too many/too few arguments"), | 35 | ErrorType::ArgumentCountError => write!(f, "Too many/too few arguments"), |
32 | ErrorType::ConfigError => write!(f, "CONFIG"), | 36 | ErrorType::ConfigError => write!(f, "CONFIG"), |
37 | ErrorType::DBError => write!(f, "DATABASE"), | ||
33 | ErrorType::LibToml => write!(f, "TOML"), | 38 | ErrorType::LibToml => write!(f, "TOML"), |
34 | ErrorType::IoError => write!(f, "IO") | 39 | ErrorType::LibSql => write!(f, "SQL"), |
40 | ErrorType::LibReq => write!(f, "REQWEST"), | ||
41 | ErrorType::IoError => write!(f, "IO"), | ||
42 | ErrorType::Other => write!(f, "OTHER") | ||
35 | } | 43 | } |
36 | } | 44 | } |
37 | } | 45 | } |
38 | 46 | ||
47 | impl From<reqwest::Error> for MLError { | ||
48 | fn from(error: reqwest::Error) -> Self { | ||
49 | Self { etype: ErrorType::LibReq, message: error.to_string() } | ||
50 | } | ||
51 | } | ||
52 | |||
39 | impl From<toml::de::Error> for MLError { | 53 | impl From<toml::de::Error> for MLError { |
40 | fn from(error: toml::de::Error) -> Self { | 54 | fn from(error: toml::de::Error) -> Self { |
41 | Self { etype: ErrorType::LibToml, message: error.to_string() } | 55 | Self { etype: ErrorType::LibToml, message: error.to_string() } |
42 | } | 56 | } |
43 | } | 57 | } |
44 | 58 | ||
59 | impl From<rusqlite::Error> for MLError { | ||
60 | fn from(error: rusqlite::Error) -> Self { | ||
61 | Self { etype: ErrorType::LibSql, message: error.to_string() } | ||
62 | } | ||
63 | } | ||
64 | |||
45 | impl From<toml::ser::Error> for MLError { | 65 | impl From<toml::ser::Error> for MLError { |
46 | fn from(error: toml::ser::Error) -> Self { | 66 | fn from(error: toml::ser::Error) -> Self { |
47 | Self { etype: ErrorType::LibToml, message: error.to_string() } | 67 | Self { etype: ErrorType::LibToml, message: error.to_string() } |