#panic #macro #proc-macro #panicking #custom

no-std panic-custom-proc-macros

一个小的panic宏crate,允许轻松设置嵌入式或常规no_std二进制的panic行为

1个不稳定版本

0.1.0 2024年3月4日

#25 in #custom


用于 panic-custom

MIT/Apache

6KB
68

用于自定义panic函数的小型过程宏crate。

此crate提供了一个define_panic过程宏,该宏将给定的函数转换为panic处理器。此宏不允许使用闭包。

用法

要定义自定义panic处理器,使用#[panic_handler]宏注解一个函数。函数必须遵循以下签名:fn _some_name_(info: &PanicInfo) -> !

示例

use my_panic_macro::define_panic;

#[panic_handler]
fn my_panic_function(info: &PanicInfo) -> ! {
    // Custom panic handling logic
}

限制

  • 此宏只接受函数作为输入。不允许使用闭包。
  • panic处理器函数必须发散,即,它必须返回!
  • 确保panic处理器函数被正确定义,并且能够安全地处理panic,以避免未定义的行为。

另请参阅

参考

依赖

~1.5MB
~35K SLoC