robin_sparkless_core/
error.rs1use std::fmt;
10
11#[derive(Debug)]
16pub enum EngineError {
17 User(String),
19 Internal(String),
21 Io(String),
23 Sql(String),
25 NotFound(String),
27 Other(String),
29}
30
31impl fmt::Display for EngineError {
32 fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
33 match self {
34 EngineError::User(s) => write!(f, "user error: {s}"),
35 EngineError::Internal(s) => write!(f, "internal error: {s}"),
36 EngineError::Io(s) => write!(f, "io error: {s}"),
37 EngineError::Sql(s) => write!(f, "sql error: {s}"),
38 EngineError::NotFound(s) => write!(f, "not found: {s}"),
39 EngineError::Other(s) => write!(f, "{s}"),
40 }
41 }
42}
43
44impl std::error::Error for EngineError {}
45
46impl From<serde_json::Error> for EngineError {
47 fn from(e: serde_json::Error) -> Self {
48 EngineError::Internal(e.to_string())
49 }
50}
51
52impl From<std::io::Error> for EngineError {
53 fn from(e: std::io::Error) -> Self {
54 EngineError::Io(e.to_string())
55 }
56}