stratum_dsp/
error.rs

1//! Error types for the audio analysis engine
2
3use std::fmt;
4
5/// Errors that can occur during audio analysis
6#[derive(Debug, Clone)]
7pub enum AnalysisError {
8    /// Invalid input parameters
9    InvalidInput(String),
10    
11    /// Audio decoding error
12    DecodingError(String),
13    
14    /// Processing error during analysis
15    ProcessingError(String),
16    
17    /// Feature not yet implemented
18    NotImplemented(String),
19    
20    /// Numerical error (overflow, underflow, etc.)
21    NumericalError(String),
22}
23
24impl fmt::Display for AnalysisError {
25    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
26        match self {
27            AnalysisError::InvalidInput(msg) => write!(f, "Invalid input: {}", msg),
28            AnalysisError::DecodingError(msg) => write!(f, "Decoding error: {}", msg),
29            AnalysisError::ProcessingError(msg) => write!(f, "Processing error: {}", msg),
30            AnalysisError::NotImplemented(msg) => write!(f, "Not implemented: {}", msg),
31            AnalysisError::NumericalError(msg) => write!(f, "Numerical error: {}", msg),
32        }
33    }
34}
35
36impl std::error::Error for AnalysisError {}
37