Struct std::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

执行转换。

执行转换。

将给定值转换为 StringRead more

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

执行转换。

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

执行转换。