Skip to main content

configloader_676/config/
error.rs

1use std::fmt;
2
3#[derive(Debug)]
4pub enum ConfigError {
5    FileNotFound,
6    ParseError(String),
7    MissingField(String),
8    EnvVarError(String),
9    ValidationError(String),
10}
11
12impl fmt::Display for ConfigError {
13    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
14        match self {
15            ConfigError::FileNotFound => write!(f, "Configuration file not found"),
16            ConfigError::ParseError(msg) => write!(f, "Parse error: {}", msg),
17            ConfigError::MissingField(field) => write!(f, "Missing required field: {}", field),
18            ConfigError::EnvVarError(msg) => write!(f, "Environment variable error: {}", msg),
19            ConfigError::ValidationError(msg) => write!(f, "Validation error: {}", msg),
20        }
21    }
22}
23
24impl std::error::Error for ConfigError {}