W3cubDocs

/Rust

Struct std::panic::PanicInfo

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.

Examples

use std::panic;

panic::set_hook(Box::new(|panic_info| {
    println!("panic occured: {:?}", panic_info.payload().downcast_ref::<&str>().unwrap());
}));

panic!("Normal panic");

Methods

impl<'a> PanicInfo<'a> [src]

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| {
    println!("panic occured: {:?}", panic_info.payload().downcast_ref::<&str>().unwrap());
}));

panic!("Normal panic");

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 occured in file '{}' at line {}", location.file(), location.line());
    } else {
        println!("panic occured but can't get location information...");
    }
}));

panic!("Normal panic");

Trait Implementations

impl<'a> Debug for PanicInfo<'a> [src]

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