3个稳定版本
2.1.0 | 2020年3月17日 |
---|---|
2.0.1 | 2019年4月13日 |
2.0.0 | 2019年4月8日 |
#839 在 Rust模式
每月 21次下载
49KB
964 行
Quick Error 2
这是https://github.com/tailhook/quick-error,但已升级到Rust 2018并支持Error::source()。它已发布为quick-error2。您可以通过更新您的Cargo.toml来升级
[dependencies] quick-error = { package = "quick-error2", version = "2" }
为什么?
因为还没有发布quick-error 2.*版本 🤷♂️。
Quick Error
状态 | 生产就绪 |
---|---|
文档 | https://docs.rs/quick-error/ |
一个使错误类型编写更愉悦的宏。
特性
- 定义具有任意参数的枚举类型
- 简洁的Display和Error特性
- 对特性实现的完全控制Display和Error任意数量的
- From支持所有枚举变体特性
- 单元元组, 结构体和以下是一个综合示例
许可
quick_error! { #[derive(Debug)] pub enum IoWrapper { Io(err: io::Error) { from() display("I/O error: {}", err) cause(err) } Other(descr: &'static str) { display("Error {}", descr) } IoAt { place: &'static str, err: io::Error } { cause(err) display(me) -> ("io error at {}: {}", place, err) from(s: String) -> { place: "some string", err: io::Error::new(io::ErrorKind::Other, s) } } Discard { from(&'static str) } } }
许可协议
在以下协议中选择一个
- Apache许可证第2版(./LICENSE-APACHE或http://www.apache.org/licenses/LICENSE-2.0)
- MIT许可证(./LICENSE-MIT或http://opensource.org/licenses/MIT)
任选其一。
贡献
除非您明确声明,否则根据Apache-2.0许可证定义的,您有意提交的任何贡献,都应双重许可如上所述,无需附加条款或条件。