1 个不稳定版本
| 0.1.1 | 2021 年 9 月 28 日 |
|---|---|
| 0.1.0 |
|
#1527 在 Rust 模式
467 每月下载量
在 11 个包中使用 (4 个直接使用)
8KB
fmterr
fmterr (发音为 fumpterr,显然!) 是一个为 Rust 设计的微型错误报告工具!如果你有一个包含源链的错误,并且希望将错误显示给用户而不引入像 anyhow 这样的工具,那么 fmterr 就是为你准备的!只需运行 fmt_err(&err),你将得到一个字符串错误消息,该消息会以良好的方式显示源链,供最终用户查看。
用法
你可以使用 fmterr 来格式化任何实现 std::error::Error 的错误(基本上是任何有价值的错误)如下
use fmterr::fmt_err;
// Imagine this is a super-complex error with a nested source
let err = std::io::Error::from(std::io::ErrorKind::NotFound);
let err_str = fmt_err(&err);
println!("{}", err_str);
如果你使用一个复杂错误,将会产生以下结果
Error: first error message
Caused by:
second error message
Caused by:
third error message
如果你使用没有源的信息(例如,带有 io::ErrorKind::NotFound)
Error: entity not found
fmterr 与 anyhow 的比较
大多数库应用程序将使用 thiserror 或类似的库来创建它们的错误,然后有时需要格式化工具。如果你将 anyhow 作为格式化工具使用,你基本上是在用大锤修复凹痕,你其实并不需要它!话虽如此,anyhow 在需要其其他功能的程序中非常出色。
贡献
我们感谢所有类型的贡献,有关更多信息,请查看我们的 贡献指南!另外,请务必遵守我们的 行为准则。
许可证
请参阅 LICENSE。