1个不稳定版本
0.1.0 | 2024年3月4日 |
---|
#25 in #custom
用于 panic-custom
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,以避免未定义的行为。
另请参阅
core::panic::PanicInfo
:表示panic信息的结构。
参考
依赖
~1.5MB
~35K SLoC