1#[derive(Debug)]
2pub enum OrmError {
3 Bind,
4 Execute,
5 Deserialize,
6 NotFound,
7 Migration(String),
8 Raw(String),
9}
10
11impl std::fmt::Display for OrmError {
12 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
13 match self {
14 OrmError::Bind => write!(f, "failed to bind query parameters"),
15 OrmError::Execute => write!(f, "query execution failed"),
16 OrmError::Deserialize => write!(f, "failed to deserialize row"),
17 OrmError::NotFound => write!(f, "record not found"),
18 OrmError::Migration(s) => write!(f, "migration error: {}", s),
19 OrmError::Raw(s) => write!(f, "raw query error: {}", s),
20 }
21 }
22}
23
24impl std::error::Error for OrmError {}