secra_memory/
error.rs

1/// 内存缓存错误类型
2use std::fmt;
3
4/// 缓存操作错误
5#[derive(Debug, Clone)]
6pub enum CacheError {
7    /// Key 格式错误
8    InvalidKey(String),
9    /// 序列化失败
10    SerializationFailed(String),
11    /// 反序列化失败
12    DeserializationFailed(String),
13    /// 权限 denied
14    PermissionDenied(String),
15    /// 其他错误
16    Other(String),
17}
18
19impl fmt::Display for CacheError {
20    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
21        match self {
22            CacheError::InvalidKey(msg) => write!(f, "无效的 Key: {}", msg),
23            CacheError::SerializationFailed(msg) => write!(f, "序列化失败: {}", msg),
24            CacheError::DeserializationFailed(msg) => write!(f, "反序列化失败: {}", msg),
25            CacheError::PermissionDenied(msg) => write!(f, "权限拒绝: {}", msg),
26            CacheError::Other(msg) => write!(f, "其他错误: {}", msg),
27        }
28    }
29}
30
31impl std::error::Error for CacheError {
32    fn source(&self) -> Option<&(dyn std::error::Error + 'static)> {
33        None
34    }
35}