#stack-trace #error #backtrace #tracing

tracerr

自定义编译时捕获的错误追踪

5 个不稳定版本

0.3.0 2021年10月27日
0.2.0 2021年6月24日
0.1.2 2020年11月3日
0.1.1 2019年11月22日
0.1.0 2019年11月20日

#1167 in Rust 模式

Download history 137/week @ 2024-03-24 224/week @ 2024-03-31 161/week @ 2024-04-07 130/week @ 2024-04-14 190/week @ 2024-04-21 131/week @ 2024-04-28 121/week @ 2024-05-05 174/week @ 2024-05-12 157/week @ 2024-05-19 205/week @ 2024-05-26 142/week @ 2024-06-02 65/week @ 2024-06-09 91/week @ 2024-06-16 72/week @ 2024-06-23 68/week @ 2024-06-30 146/week @ 2024-07-07

379 次每月下载
用于 medea-jason

BlueOak-1.0.0

21KB
406

tracerr

Latest version Rust 1.56+ Rust docs CI Unsafe Forbidden

API 文档 | 变更日志

Rust 提供自定义编译时捕获的错误追踪。

用法

通用规则

  • 使用宏在调用位置捕获跟踪帧。
use tracerr::Traced;

let err = tracerr::new!("my error"); // captures frame

let res: Result<(), _> = Err(err)
    .map_err(tracerr::wrap!()); // captures frame

let err: Traced<&'static str> = res.unwrap_err();
# #[cfg(not(target_os = "windows"))]
assert_eq!(
    format!("{}\n{}", err, err.trace()),
    r"my error
error trace:
rust_out
  at src/lib.rs:6
rust_out
  at src/lib.rs:9",
);

let (val, trace) = err.split();
# #[cfg(not(target_os = "windows"))]
assert_eq!(
    format!("{}\n{}", val, trace),
    r"my error
error trace:
rust_out
  at src/lib.rs:6
rust_out
  at src/lib.rs:9",
);

许可证

版权 © 2019 Instrumentisto 团队,https://github.com/instrumentisto

此软件受 Blue Oak 模型许可证 1.0.0 的条款约束。如果此文件未附带 BlueOak-1.0.0 许可证的副本,您可以从 https://blueoakcouncil.org/license/1.0.0 获取。

依赖项

~2MB
~43K SLoC