16 个版本 (8 个稳定版)

2.0.1 2021 年 5 月 7 日
2.0.0 2020 年 8 月 11 日
1.2.3 2020 年 1 月 2 日
1.2.2 2018 年 5 月 26 日
0.1.4 2015 年 10 月 17 日

Rust 模式 中排名第 399

Download history 611209/week @ 2024-03-14 653603/week @ 2024-03-21 635722/week @ 2024-03-28 619138/week @ 2024-04-04 646202/week @ 2024-04-11 683644/week @ 2024-04-18 652158/week @ 2024-04-25 663651/week @ 2024-05-02 638449/week @ 2024-05-09 701948/week @ 2024-05-16 658766/week @ 2024-05-23 702289/week @ 2024-05-30 679833/week @ 2024-06-06 688379/week @ 2024-06-13 705173/week @ 2024-06-20 591982/week @ 2024-06-27

每月下载量 2,803,114
293 个以下crate中使用

MIT/Apache 许可

49KB
962 行代码(不含注释)

快速错误

状态生产就绪
文档https://docs.rs/quick-error/

一个使错误类型易于编写的宏。

功能

  • 使用任意参数定义枚举类型
  • 简洁的表示法显示错误特质
  • 完全控制显示错误特质实现
  • 任意数量的From特质
  • 支持所有枚举变体单元, 元组结构体

以下是一个综合示例

quick_error! {
    #[derive(Debug)]
    pub enum IoWrapper {
        Io(err: io::Error) {
            from()
            display("I/O error: {}", err)
            source(err)
        }
        Other(descr: &'static str) {
            display("Error {}", descr)
        }
        IoAt { place: &'static str, err: io::Error } {
            source(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.0 许可证定义的,任何提交给本工作的有意贡献,均应按上述方式双许可,不附加任何额外条款或条件。

无运行时依赖