Function std::panic::set_hook 1.10.0[−][src]
Expand description
注册一个自定义的 panic 钩子,替换以前注册的任何一个。
当线程发生 panic 时,但在调用 panic 运行时之前,会调用 panic 钩子。这样,钩子将与中止和展开运行时一起运行。
默认的钩子将消息显示为标准错误,并在需要时生成回溯,但这种行为可以使用 set_hook
和 take_hook
函数进行自定义。
该钩子提供了一个 PanicInfo
结构体,该结构体包含有关 panic 的起源的信息,包括传递给 panic!
的有效载荷和包含 panic 起源的源代码位置。
panic 钩子是一个全局资源。
Panics
如果从 panic 线程调用,就会出现 panic。
Examples
以下将打印 “Custom panic hook”:
ⓘ
use std::panic;
panic::set_hook(Box::new(|_| {
println!("Custom panic hook");
}));
panic!("Normal panic");
Run