2 个版本

0.1.2 2021年8月12日
0.1.1 2021年8月12日
0.1.0 2021年1月1日

#2701 in Rust 模式

自定义许可

18KB
236

Rust-Borked

Rust 错误处理

这个库与现有的项目(如 failure - Rusterror_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);

}

无运行时依赖