Files
agcore/src/memory/error.rs
T
2026-06-08 08:42:43 +08:00

30 lines
663 B
Rust

//! 记忆系统错误类型。
use thiserror::Error;
/// 记忆系统错误枚举。
#[derive(Debug, Error)]
pub enum MemoryError {
#[error("Item not found: {0}")]
NotFound(String),
#[error("Storage error: {0}")]
Storage(String),
#[error("Serialization error: {0}")]
Serialization(String),
#[error("Invalid input: {0}")]
InvalidInput(String),
#[error("Retrieval error: {0}")]
RetrievalError(String),
}
impl MemoryError {
/// 是否为可恢复错误(调用方可重试或调整参数)。
pub fn is_recoverable(&self) -> bool {
matches!(self, Self::NotFound(_) | Self::RetrievalError(_))
}
}