use core::fmt;
use std::error::Error;
#[derive(Debug)]
pub enum AppError {
StartUpError(String),
Other(String),
}
impl fmt::Display for AppError {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
write!(
f,
"{} : {:#?}",
match self {
AppError::StartUpError(_) => "Start up error",
AppError::Other(_) => "App error",
},
self
)
}
}
impl Error for AppError {}
#[derive(Debug)]
pub enum DBListenerError {
CreationError(String),
DeletionError(String),
ListenerStartError(String),
ListenerStopError(String),
ListenerVerifyError(String),
ListenerError(String),
Other(String),
}
impl fmt::Display for DBListenerError {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
let (prefix, err) = match self {
DBListenerError::CreationError(err) => ("Database creation error", err),
DBListenerError::DeletionError(err) => ("Database deletion error", err),
DBListenerError::ListenerStartError(err) => ("Database Listener error", err),
DBListenerError::ListenerStopError(err) => ("Database Listener error", err),
DBListenerError::ListenerVerifyError(err) => ("Database Listener error", err),
DBListenerError::ListenerError(err) => ("Database Listener error", err),
DBListenerError::Other(err) => ("Database Listener error", err),
};
write!(f, "{} : {:?}", prefix, err)
}
}
impl Error for DBListenerError {}