Expand description
Small procedural macro crate for custom panic functions.
This crate provides a define_panic procedural macro, which transforms a given function into a panic handler.
No closures are allowed with this macro.
§Usage
To define a custom panic handler, annotate a function with #[panic_handler] macro.
The function must adhere to the following signature:
fn _some_name_(info: &PanicInfo) -> !.
§Examples
use my_panic_macro::define_panic;
#[panic_handler]
fn my_panic_function(info: &PanicInfo) -> ! {
// Custom panic handling logic
}§Limitations
- This macro only accepts functions as input. Closures are not allowed.
- The panic handler function must diverge, i.e., it must return
!. - Ensure that the panic handler function is properly defined and handles panics safely to avoid undefined behavior.
§See Also
core::panic::PanicInfo: Struct representing information about a panic.
§Reference
Attribute Macros§
- define_
panic - Defines the given function as a panic handler.