Skip to main content

euv_cli/error/
enum.rs

1use crate::*;
2
3/// The error type for the euv CLI application.
4///
5/// Covers all failure modes including I/O errors, server errors,
6/// HTML generation errors, and general application errors.
7#[derive(Debug)]
8pub enum EuvError {
9    /// An I/O error with additional context about the operation.
10    Io {
11        /// A human-readable description of the failed I/O operation.
12        message: String,
13        /// The underlying I/O error.
14        error: io::Error,
15    },
16    /// An I/O error with path context.
17    IoPath {
18        /// A human-readable description of the failed I/O operation.
19        message: String,
20        /// The file or directory path involved in the I/O operation.
21        path: PathBuf,
22        /// The underlying I/O error.
23        error: io::Error,
24    },
25    /// A UTF-8 decoding error.
26    Utf8 {
27        /// A human-readable description of the UTF-8 decoding failure.
28        message: String,
29        /// The underlying UTF-8 error.
30        error: std::string::FromUtf8Error,
31    },
32    /// A server error from the hyperlane framework.
33    Server(String),
34    /// A general application error with a descriptive message.
35    Message(String),
36    /// A file watcher (notify) error.
37    Watch(notify::Error),
38}