1个不稳定版本
0.1.0 | 2024年1月18日 |
---|
#2490 in Rust模式
8KB
80 行
partial-result
partial-result
是一个Rust库,它提供了一个表示部分成功的类型,即可以包含失败的结果。这在需要返回结果和失败时非常有用,其中失败表示非致命错误。
安装
将以下内容添加到您的Cargo.toml
[dependencies]
partial-result = "0.1.0"
然后运行cargo build
来下载和编译该包。
使用
以下是使用PartialResult
类型的示例
use partial_result::{
PartialResult,
PartialResultExt,
PartialSuccess,
};
#[derive(Debug)]
enum CriticalError {
WeAreDoomed(String),
EverythingIsLost(String),
}
#[derive(Debug)]
enum NonCriticalError {
SomethingWentWrong(String),
SomethingElseWentWrong(String),
}
fn do_something() -> PartialResult<u32, NonCriticalError, CriticalError> {
let value = 42;
let failure = NonCriticalError::SomethingWentWrong("Something went wrong".to_string());
PartialResult::partial_success(value, failure)
}
fn main() -> Result<(), CriticalError> {
let result = do_something()?;
println!("Result: {}", result.value);
result.failure.map(|e| println!("WARN: there was an issue during the computation: {:?}", e));
Ok(())
}
许可证
本项目采用MIT许可证 - 有关详细信息,请参阅LICENSE文件。