#[lang = "panic_info"]
pub struct PanicInfo<'a> where
'a: '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| {
if let Some(s) = panic_info.payload().downcast_ref::<&str>() {
println!("panic occurred: {:?}", s);
} else {
println!("panic occurred");
}
}));
panic!("Normal panic");Run
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 occurred: {:?}", panic_info.payload().downcast_ref::<&str>().unwrap());
}));
panic!("Normal panic");Run
🔬 This is a nightly-only experimental API. (
panic_info_message
#44489)
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.
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
Formats the value using the given formatter. Read more
Formats the value using the given formatter. Read more
🔬 This is a nightly-only experimental API. (
try_from
#33417)
The type returned in the event of a conversion error.
🔬 This is a nightly-only experimental API. (
try_from
#33417)
🔬 This is a nightly-only experimental API. (
try_from
#33417)
The type returned in the event of a conversion error.
🔬 This is a nightly-only experimental API. (
try_from
#33417)
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more
🔬 This is a nightly-only experimental API. (get_type_id
#27745)
this method will likely be replaced by an associated static
Converts the given value to a String
. Read more