Function std::panic::set_hook 1.10.0[−][src]
pub fn set_hook(hook: Box<dyn Fn(&PanicInfo<'_>) + Sync + Send + 'static>)
Expand description
Registers a custom panic hook, replacing any that was previously registered.
The panic hook is invoked when a thread panics, but before the panic runtime
is invoked. As such, the hook will run with both the aborting and unwinding
runtimes. The default hook prints a message to standard error and generates
a backtrace if requested, but this behavior can be customized with the
set_hook
and take_hook
functions.
The hook is provided with a PanicInfo
struct which contains information
about the origin of the panic, including the payload passed to panic!
and
the source code location from which the panic originated.
The panic hook is a global resource.
Panics
Panics if called from a panicking thread.
Examples
The following will print “Custom panic hook”:
ⓘ
use std::panic;
panic::set_hook(Box::new(|_| {
println!("Custom panic hook");
}));
panic!("Normal panic");
Run