1 个不稳定版本
新 0.1.0 | 2024 年 8 月 23 日 |
---|
#7 in #panics
5KB
pretty_panics
pretty_panics
是一个 crate,它提供了一个轻松定制 panic 消息和错误消息的方法。
如果启用了 use-default-features
,则 pretty_panics
将为 panic 和错误提供默认格式化程序。
use pretty_panics::pretty_panic;
#[pretty_panic]
fn main() -> std::result::Result<(), SomeDisplayError> {
...
}
use pretty_panics::pretty_panic;
use thiserror::Error;
#[derive(Error, Debug)]
enum SimpleError {
#[error("an error")]
AnError
}
fn error_formatter(error: &SimpleError) -> String {
format!("uhhh something broke guys... {error}")
}
#[pretty_panic(formatter = error_formatter)]
fn main() -> anyhow::Result<(), SimpleError> {
Result::<(), SimpleError>::Err(SimpleError::AnError)?;
Ok(())
}
注意事项:注意事项
- 需要您的 main fn 返回一个结果
- 除非您实现自己的格式化程序并将其包含在内,否则您将失去获取 panic 调用栈的能力
- 老实说,你可能不应该使用这个 LMAO
- 目前不支持异步 main fn
依赖项
~285–750KB
~17K SLoC