unistore_progress/error.rs
1//! 【错误类型】- 进度追踪错误定义
2//!
3//! 职责:
4//! - 定义进度追踪相关的错误类型
5//! - 提供错误转换
6
7use thiserror::Error;
8
9/// 进度追踪错误
10#[derive(Debug, Error)]
11pub enum ProgressError {
12 /// 进度已完成,无法继续操作
13 #[error("进度已完成")]
14 AlreadyFinished,
15
16 /// 进度值超出范围
17 #[error("进度值超出范围: {current} > {total}")]
18 OutOfRange {
19 /// 当前值
20 current: u64,
21 /// 总数
22 total: u64,
23 },
24
25 /// 订阅通道已关闭
26 #[error("订阅通道已关闭")]
27 ChannelClosed,
28
29 /// 无效的总数(必须 > 0)
30 #[error("无效的总数: {0}(必须大于 0)")]
31 InvalidTotal(u64),
32}
33
34/// 进度追踪结果类型别名
35pub type ProgressResult<T> = Result<T, ProgressError>;