my_helper/
error.rs

1use thiserror::Error;
2
3#[derive(Error, Debug)]
4pub enum AppError {
5    #[error("IO 错误: {0}")]
6    Io(#[from] std::io::Error),
7
8    #[error("JSON 解析错误: {0}")]
9    Json(#[from] serde_json::Error),
10
11    #[error("路径无效: {0}")]
12    InvalidPath(String),
13
14    #[error("JSON 路径解析错误 `{0}`")]
15    JsonPathParse(String),
16
17    #[error("无效对象路径: {0}")]
18    InvalidObjectPath(String),
19
20    #[error("无效数组路径: {0}")]
21    InvalidArrayPath(String),
22
23    #[error("无效索引: {0}")]
24    InvalidIndex(String),
25
26    #[error("文件操作错误: {0}")]
27    FileOperation(#[from] fs_extra::error::Error),
28
29    #[error("目录操作错误: {0}")]
30    DirectoryError(String),
31}