1 个稳定版本
1.0.0 | 2023 年 8 月 3 日 |
---|
#1775 in Rust 模式
用于 doc-sync
7KB
75 行
cli-failure
提供 Failure(String)
实现 std::error::Error
。包含方便的宏,非常适合与 CLIs 中的 wrap-match
一起使用。
该包不应在库中使用。 相反,使用类似 thiserror
的东西。对于库,拥有特定的错误可以让库用户更好地处理它们。
示例
// wrap-match is not required, but it is highly recommended
fn example() -> Result<(), Box<dyn Error>> {
let result = "bad";
// With convenience macros
// These two lines are the same
bail!("something {result} happened");
return failure!("something {result} happened");
return failure_raw!("something {result} happened").err_boxed();
return Err(failure_raw!("something {result} happened").boxed());
// Manually
return Failure(format!("something {result} happened")).err_boxed();
return Err(Failure(format!("something {result} happened")).boxed());
Ok(())
}