2 个版本
0.1.2 | 2021年8月12日 |
---|---|
0.1.1 |
|
0.1.0 | 2021年1月1日 |
#2701 in Rust 模式
18KB
236 行
Rust-Borked
Rust 错误处理
这个库与现有的项目(如 failure - Rust 或 error_chain)非常相似,但我对其他实现始终不太满意。
这是我第一次真正与 Rust 的 Trait 系统打交道,所以如果我在哪里犯了大错误,或者有改进的地方,我很乐意听到你的意见。 :)
安装
borked 在 crates.io 上,所以可以添加到 Cargo.toml
[dependencies]
...
borked = "0.1.0"
示例
此软件包提供处理任何实现了 std::error::Error
Trait 的错误的功能。但实现 BorkChain
的类型与此软件包最相关。
#[macro_use]
extern crate borked;
use borked::*;
fn doing_stuff() -> Borkable<u32>{
// Do something useful...
// Encounter error...
Bork!("Oh No!");
// Never reached in this case.
return Ok(0);
}
fn q_mark()-> Borkable<u32>{
let e = u32::from_str_radix("Obviously_not_gonna_work", 10)?;
return Ok(e);
}
fn with_bork() -> Borkable<u32>{
let e = u32::from_str_radix("Obviously_not_gonna_work", 10)
.bork_with(BaseBork::msg("AHHH It Didn't Work!"))?;
return Ok(e+7);
}