3个稳定版本

2.1.0 2020年3月17日
2.0.1 2019年4月13日
2.0.0 2019年4月8日

#839Rust模式

每月 21次下载

MIT/Apache

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/

一个使错误类型编写更愉悦的宏。

特性

  • 定义具有任意参数的枚举类型
  • 简洁的DisplayError特性
  • 对特性实现的完全控制DisplayError任意数量的
  • 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.0许可证定义的,您有意提交的任何贡献,都应双重许可如上所述,无需附加条款或条件。

无运行时依赖项