Struct core::panic::PanicInfo1.10.0[][src]

pub struct PanicInfo<'a> { /* fields omitted */ }
Expand description

提供有关 panic 的信息的结构体。

PanicInfo 结构体传递给 set_hook 函数设置的 panic hook。

Examples

use std::panic;

panic::set_hook(Box::new(|panic_info| {
    if let Some(s) = panic_info.payload().downcast_ref::<&str>() {
        println!("panic occurred: {:?}", s);
    } else {
        println!("panic occurred");
    }
}));

panic!("Normal panic");
Run

Implementations

返回与 panic 关联的有效负载。

通常但并非总是 &'static strString

Examples

use std::panic;

panic::set_hook(Box::new(|panic_info| {
    if let Some(s) = panic_info.payload().downcast_ref::<&str>() {
        println!("panic occurred: {:?}", s);
    } else {
        println!("panic occurred");
    }
}));

panic!("Normal panic");
Run
🔬 This is a nightly-only experimental API. (panic_info_message #66745)

如果 core crate 中的 panic! 宏 (不是 std 中的) 与格式化字符串和一些其他参数一起使用,则返回该消息准备好与 fmt::write 一起使用

返回有关 panic 起源的位置的信息 (如果有)。

该方法当前将始终返回 Some,但是在 future 版本中可能会更改。

Examples

use std::panic;

panic::set_hook(Box::new(|panic_info| {
    if let Some(location) = panic_info.location() {
        println!("panic occurred in file '{}' at line {}",
            location.file(),
            location.line(),
        );
    } else {
        println!("panic occurred but can't get location information...");
    }
}));

panic!("Normal panic");
Run

Trait Implementations

使用给定的格式化程序格式化该值。 Read more

使用给定的格式化程序格式化该值。 Read more

Auto Trait Implementations

Blanket Implementations

获取 selfTypeIdRead more

从拥有的值中一成不变地借用。 Read more

从拥有的值中借用。 Read more

执行转换。

执行转换。

发生转换错误时返回的类型。

执行转换。

发生转换错误时返回的类型。

执行转换。