本文简要介绍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 set_var用法及代码示例
- Rust set_current_dir用法及代码示例
- Rust set_permissions用法及代码示例
- Rust str.make_ascii_uppercase用法及代码示例
- Rust slice.sort_unstable_by_key用法及代码示例
- Rust slice.iter_mut用法及代码示例
- Rust symlink用法及代码示例
- Rust slice.windows用法及代码示例
- Rust slice.repeat用法及代码示例
- Rust slice.group_by_mut用法及代码示例
- Rust slice.align_to_mut用法及代码示例
- Rust size_of用法及代码示例
- Rust slice.as_chunks_unchecked用法及代码示例
- Rust str.strip_suffix用法及代码示例
- Rust str.trim_left用法及代码示例
- Rust slice.fill用法及代码示例
- Rust slice.array_windows用法及代码示例
- Rust slice.sort_unstable_by用法及代码示例
- Rust slice.sort用法及代码示例
- Rust str.char_indices用法及代码示例
- Rust str.to_ascii_lowercase用法及代码示例
- Rust str用法及代码示例
- Rust slice.rotate_left用法及代码示例
- Rust slice.as_mut_ptr用法及代码示例
- Rust str.trim用法及代码示例
注:本文由纯净天空筛选整理自rust-lang.org大神的英文原创作品 Function std::panic::set_hook。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。