1#[derive(thiserror::Error, Debug)]
2pub enum Error {
3 #[error(transparent)]
4 SerdeJson(#[from] serde_json::Error),
5
6 #[cfg(feature = "rusqlite")]
7 #[error(transparent)]
8 HexError(#[from] hex::FromHexError),
9
10 #[cfg(feature = "rusqlite")]
11 #[error(transparent)]
12 Rusqlite(#[from] rusqlite::Error),
13
14 #[cfg(feature = "rusqlite")]
15 #[error(transparent)]
16 IoError(#[from] std::io::Error),
17
18
19 #[error("Generic Error {0}: {1}")]
20 Generic(String, String),
21}
22
23impl Error {
24 pub fn err(ctx: &str, err: &str) -> Self {Error::Generic(ctx.to_string(), err.to_string())}
25}
26