Struct std::panic::PanicInfo  1.10.0[−][src]
pub struct PanicInfo<'a> { /* fields omitted */ }Expand description
A struct providing information about a panic.
PanicInfo structure is passed to a panic hook set by the set_hook
function.
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");Implementations
Returns the payload associated with the panic.
This will commonly, but not always, be a &'static str or String.
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");If the panic! macro from the core crate (not from std)
was used with a formatting string and some additional arguments,
returns that message ready to be used for example with fmt::write
Returns information about the location from which the panic originated, if available.
This method will currently always return Some, but this may change
in future versions.
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");