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
。