pub struct PanicInfo<'a> { /* fields omitted */ }
A struct providing information about a panic.
PanicInfo
structure is passed to a panic hook set by the set_hook()
function.
use std::panic; panic::set_hook(Box::new(|panic_info| { println!("panic occured: {:?}", panic_info.payload().downcast_ref::<&str>().unwrap()); })); panic!("Normal panic");
impl<'a> PanicInfo<'a>
[src]
fn payload(&self) -> &Any + Send
Returns the payload associated with the panic.
This will commonly, but not always, be a &'static str
or String
.
use std::panic; panic::set_hook(Box::new(|panic_info| { println!("panic occured: {:?}", panic_info.payload().downcast_ref::<&str>().unwrap()); })); panic!("Normal panic");
fn location(&self) -> Option<&Location>
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.
use std::panic; panic::set_hook(Box::new(|panic_info| { if let Some(location) = panic_info.location() { println!("panic occured in file '{}' at line {}", location.file(), location.line()); } else { println!("panic occured but can't get location information..."); } })); panic!("Normal panic");
impl<'a> Debug for PanicInfo<'a>
[src]
fn fmt(&self, __arg_0: &mut Formatter) -> Result
Formats the value using the given formatter.
© 2010 The Rust Project Developers
Licensed under the Apache License, Version 2.0 or the MIT license, at your option.
https://doc.rust-lang.org/std/panic/struct.PanicInfo.html