当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Rust set_hook用法及代码示例


本文简要介绍rust语言中 Function std::panic::set_hook 的用法。

用法

pub fn set_hook(hook: Box<dyn Fn(&PanicInfo<'_>) + Sync + Send + 'static>)

注册一个自定义Panics挂钩,替换之前注册的任何挂钩。

当线程Panics时调用Panics钩子,但在调用Panics运行时之前。因此,钩子将与中止和展开运行时一起运行。默认挂钩将消息打印到标准错误并在请求时生成回溯,但可以使用set_hook take_hook 函数自定义此行为。

该钩子提供了一个 PanicInfo 结构,其中包含有关Panics来源的信息,包括传递给 panic! 的有效负载和Panics起源的源代码位置。

Panics钩子是一种全局资源。

Panics

如果从Panics线程调用,则会发生Panics。

例子

以下将打印“Custom panic hook”:

use std::panic;

panic::set_hook(Box::new(|_| {
    println!("Custom panic hook");
}));

panic!("Normal panic");

相关用法


注:本文由纯净天空筛选整理自rust-lang.org大神的英文原创作品 Function std::panic::set_hook。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。