pub enum ClapfigError {
UnknownKeys(Vec<UnknownKeyInfo>),
ParseError {
path: PathBuf,
source: Box<Error>,
source_text: Option<Arc<str>>,
},
IoError {
path: PathBuf,
source: Error,
},
ConfigError(Error),
KeyNotFound(String),
InvalidValue {
key: String,
reason: String,
},
NoPersistPath,
AncestorsNotAllowedAsPersistPath,
UnknownScope {
scope: String,
available: Vec<String>,
},
UnknownSubcommand(String),
AppNameRequired,
PostValidationFailed(String),
}Variants§
UnknownKeys(Vec<UnknownKeyInfo>)
One or more unknown keys were found in config files during strict-mode validation. The vector is never empty.
ParseError
The TOML parser failed on a config file. source_text holds the
file contents (when retained) so renderers can draw a snippet.
The parser error is boxed to keep the enum variant small.
IoError
ConfigError(Error)
KeyNotFound(String)
InvalidValue
NoPersistPath
AncestorsNotAllowedAsPersistPath
UnknownScope
UnknownSubcommand(String)
AppNameRequired
PostValidationFailed(String)
A user-supplied post_validate hook rejected the merged configuration.
The inner string is the message returned by the hook — typically
something like "port 80 is below the allowed minimum 1024". Clapfig
does not interpret it; the displayed/rendered form includes the
"Configuration validation failed: " prefix plus the hook’s message.
Implementations§
Source§impl ClapfigError
impl ClapfigError
Sourcepub fn unknown_keys(&self) -> Option<&[UnknownKeyInfo]>
pub fn unknown_keys(&self) -> Option<&[UnknownKeyInfo]>
If this error carries unknown-key information, return the list.
Callers that want to render their own error UI can iterate this directly without pattern-matching on the enum.
Sourcepub fn parse_error(&self) -> Option<(&Path, &Error, Option<&str>)>
pub fn parse_error(&self) -> Option<(&Path, &Error, Option<&str>)>
If this error is a TOML parse failure, return the file path, the underlying parser error, and the source text (when retained).
Sourcepub fn is_strict_violation(&self) -> bool
pub fn is_strict_violation(&self) -> bool
True if this error represents a strict-mode schema violation (unknown keys) — useful for callers that want to fail softly on strict violations but hard on real parse/type errors.
Trait Implementations§
Source§impl Debug for ClapfigError
impl Debug for ClapfigError
Source§impl Display for ClapfigError
impl Display for ClapfigError
Source§impl Error for ClapfigError
impl Error for ClapfigError
Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()