Skip to main content

dynamic_cli/error/
mod.rs

1//! Error handling for dynamic-cli
2//!
3//! This module provides a hierarchical error system with clear and
4//! contextual messages to facilitate debugging.
5//!
6//! ## Error Types
7//!
8//! - [`DynamicCliError`] : Main error encompassing all categories
9//! - [`ConfigError`] : Configuration errors
10//! - [`ParseError`] : Parsing errors
11//! - [`ValidationError`] : Validation errors
12//! - [`ExecutionError`] : Execution errors
13//! - [`RegistryError`] : Registry errors
14//!
15//! ## Example
16//!
17//! ```
18//! use dynamic_cli::error::{DynamicCliError, ConfigError};
19//!
20//! fn load_config() -> Result<(), DynamicCliError> {
21//!     Err(ConfigError::FileNotFound {
22//!         path: "config.yaml".into(),
23//!         suggestion: None,
24//!     }.into())
25//! }
26//! ```
27
28mod display;
29mod suggestions;
30mod types;
31
32// Public re-exports
33pub use display::{display_error, format_error};
34pub use suggestions::find_similar_strings;
35pub use types::*;
36
37/// Specialized Result type for dynamic-cli
38///
39/// Uses [`DynamicCliError`] as the default error type.
40pub type Result<T> = std::result::Result<T, DynamicCliError>;