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>
,其中所有 ?
的实例都按预期工作。