pub fn set_hook(hook: Box<dyn Fn(&PanicInfo<'_>) + Sync + Send + 'static>)
Expand description
注册一个自定义的 panic hook,替换之前注册的 hook。
当线程发生 panic 时,但在调用 panic 运行时之前,会调用 panic 钩子。这样,钩子将与中止和展开运行时一起运行。
默认钩子在启动时注册,将消息打印到标准错误并在请求时生成回溯。可以使用 set_hook
函数自定义此行为。
可以在使用 take_hook
函数恢复默认钩子的同时检索当前钩子。
该钩子提供了一个 PanicInfo
结构体,该结构体包含有关 panic 的起源的信息,包括传递给 panic!
的有效载荷和包含 panic 起源的源代码位置。
panic 钩子是一个全局资源。
Panics
如果从 panic 线程调用,就会出现 panic。
Examples
以下将打印 “Custom panic hook”: