2 个版本
| 0.1.2 | 2022 年 12 月 22 日 |
|---|---|
| 0.1.1 |
|
| 0.1.0 | 2022 年 11 月 29 日 |
1873 在 Rust 模式
31KB
861 行(不包括注释)
Rust 的一个更丰富的 Result 类型
(在 crates.io 上)
定义为
pub enum Result<T, RE, FE> {
Ok(T),
Recoverable(RE),
Fatal(FE),
}
它可以轻松处理可恢复和致命错误。
在它上面使用 ?,它会与 Result::Fatal 分离,或者返回一个
pub enum LocalResult<T, RE> {
NoErr(T),
Handle(RE),
}
然后可以使用 ? 来从其中获取 T,或者与 Result::Recoverable 分离。
Result 从 core 在使用 ? 时要么与 Fatal 分离,要么在 Ok 中返回值。
此外,例如对于公共 API 界面,您可以使用 Result 类型从 core 通过这种方式堆叠:Result<Result<T, RE>, FE>,其中所有 ? 的实例都按预期工作。