#error #single #construction #per #type #static-dynamic #callsite

adhocerr

一个用于构建每个调用位置的高效单次使用静态/动态错误类型的库

3个版本

0.1.2 2020年1月17日
0.1.1 2020年1月8日
0.1.0 2020年1月8日

2481Rust模式

Download history 6/week @ 2024-03-21 30/week @ 2024-03-28 17/week @ 2024-04-04 3/week @ 2024-04-18 5/week @ 2024-04-25 3/week @ 2024-05-09 3/week @ 2024-05-16 2/week @ 2024-05-23 3/week @ 2024-05-30 11/week @ 2024-06-06 5/week @ 2024-06-13 4/week @ 2024-06-20 9/week @ 2024-06-27 35/week @ 2024-07-04

每月54次下载

MIT/Apache

18KB
162

Adhoc错误

Latest Version Rust Documentation

一个用于构建每个调用位置的高效单次使用静态/动态错误类型的库。

[dependencies]
adhocerr = "0.1"

示例

创建一个根本原因错误

use adhocerr::err;

fn get_git_root(start: &Path) -> Result<PathBuf, impl Error + 'static> {
    start
        .ancestors()
        .find(|a| a.join(".git").is_dir())
        .map(Path::to_owned)
        .ok_or(err!("Unable to find .git/ in parent directories"))
}

包装另一个错误

use adhocerr::wrap;

fn record_success() -> Result<(), impl Error + 'static> {
    std::fs::write(".success", "true").map_err(wrap!("Failed to save results of script"))
}

许可协议

在您的选择下,根据Apache License, Version 2.0MIT许可证许可。
除非您明确表示,否则您提交的任何有意提交以包含在此crate中的贡献,根据Apache-2.0许可证定义,应如上所述双重许可,不附加任何额外条款或条件。

无运行时依赖