Struct orkhon::prelude::ops::nn::tract_downcast_rs::__std::panic::PanicInfo1.10.0[][src]

#[lang = "panic_info"]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| {
    if let Some(s) = panic_info.payload().downcast_ref::<&str>() {
        println!("panic occurred: {:?}", s);
    } else {
        println!("panic occurred");
    }
}));

panic!("Normal panic");

Implementations

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

pub fn payload(&self) -> &(dyn Any + 'static + Send)[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| {
    if let Some(s) = panic_info.payload().downcast_ref::<&str>() {
        println!("panic occurred: {:?}", s);
    } else {
        println!("panic occurred");
    }
}));

panic!("Normal panic");

pub fn message(&self) -> Option<&Arguments<'_>>[src]

🔬 This is a nightly-only experimental API. (panic_info_message)

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

pub fn location(&self) -> Option<&Location<'_>>[src]

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");

Trait Implementations

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

impl<'_> Display for PanicInfo<'_>1.26.0[src]

Auto Trait Implementations

impl<'a> !RefUnwindSafe for PanicInfo<'a>[src]

impl<'a> !Send for PanicInfo<'a>[src]

impl<'a> !Sync for PanicInfo<'a>[src]

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

impl<'a> !UnwindSafe for PanicInfo<'a>[src]

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Downcast for T where
    T: Any

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToString for T where
    T: Display + ?Sized
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.