本文簡要介紹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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。