use std::fmt;
#[derive(Debug, Clone)]
pub enum AnalysisError {
InvalidInput(String),
DecodingError(String),
ProcessingError(String),
NotImplemented(String),
NumericalError(String),
}
impl fmt::Display for AnalysisError {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
match self {
AnalysisError::InvalidInput(msg) => write!(f, "Invalid input: {}", msg),
AnalysisError::DecodingError(msg) => write!(f, "Decoding error: {}", msg),
AnalysisError::ProcessingError(msg) => write!(f, "Processing error: {}", msg),
AnalysisError::NotImplemented(msg) => write!(f, "Not implemented: {}", msg),
AnalysisError::NumericalError(msg) => write!(f, "Numerical error: {}", msg),
}
}
}
impl std::error::Error for AnalysisError {}