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}