Skip to main content

apple_code_assistant/
error.rs

1//! Application error types
2
3use thiserror::Error;
4
5#[derive(Error, Debug)]
6pub enum ConfigError {
7    #[error("config file not found: {0}")]
8    NotFound(String),
9    #[error("invalid config: {0}")]
10    Invalid(String),
11    #[error("io error: {0}")]
12    Io(#[from] std::io::Error),
13    #[error("parse error: {0}")]
14    Parse(String),
15}
16
17#[derive(Error, Debug)]
18pub enum ApiError {
19    #[error("API error: {0}")]
20    Request(String),
21    #[error("connection failed: {0}")]
22    Connection(String),
23    #[error("timeout")]
24    Timeout,
25}
26
27#[derive(Error, Debug)]
28pub enum IoError {
29    #[error("file not found: {0}")]
30    NotFound(String),
31    #[error("permission denied: {0}")]
32    PermissionDenied(String),
33    #[error("io error: {0}")]
34    Io(#[from] std::io::Error),
35}