#error-message #exit #panic #expect #terminate

bin+lib expect-exit

Result.expected(): 显示错误消息并退出而不引发恐慌

11 个版本

0.5.2 2022年10月10日
0.4.3 2022年6月4日
0.4.1 2021年9月1日
0.4.0 2021年6月22日
0.2.0 2020年11月13日

#845 in Rust 模式

Download history 72/week @ 2024-03-12 101/week @ 2024-03-19 38/week @ 2024-03-26 30/week @ 2024-04-02 16/week @ 2024-04-09 1/week @ 2024-04-16 13/week @ 2024-04-23 14/week @ 2024-04-30 14/week @ 2024-05-07 21/week @ 2024-05-14 39/week @ 2024-05-21 15/week @ 2024-05-28 18/week @ 2024-06-04 28/week @ 2024-06-11 47/week @ 2024-06-18 55/week @ 2024-06-25

每月150 次下载
用于 git-select-branch

BSD-2-Clause 许可协议

49KB
1K SLoC

expect-exit: 显示错误消息并退出而不引发恐慌

“expect-exit”库定义了“Expected”、“ExpectedWithError”和“ExpectedResult”特性,并根据需要实现了这些特性,为标准“Result”和“Option”类型提供实现。这允许程序显示错误消息并以非零退出代码退出,而不调用 Rust 的恐慌,并且可以可选地展开堆栈,以便各种对象执行一些清理操作。

带有“_e”后缀的方法将适当的错误消息附加到提供的消息上。带有“_”后缀的方法允许调用者指定一个已经构造好的消息,而不是返回它的函数。

示例

use expect_exit::{Expected, ExpectedResult};

{
    env::var(name).or_exit(|| format!("{} not specified in the environment", name))

    fs::read_to_string(path).or_exit_e(|| format!("Could not read {:?}", path))

    tx.send(result).await.or_exit_e_("Could not tell the main thread");

    let config = parse().expect_result_("Could not parse the config")?;
    Ok(config.value + 1)
}

有关软件包的变更历史,请参阅源分布中的NEWS.md文件。

作者:Peter Pentchev <[email protected]>

无运行时依赖项