Skip to main content

Failure

Struct Failure 

Source
pub struct Failure<E> { /* private fields */ }
Expand description

An error with diagnostics captured where it is wrapped, which can be retained and reported later.

Capture at the failure boundary to preserve its origin before returning the value across async tasks. Backtrace::capture honours RUST_BACKTRACE and RUST_LIB_BACKTRACE; a supplied backtrace may instead be passed to Self::with_backtrace. Span traces require the error layer included by crate::Console::layer.

Implementations§

Source§

impl<E> Failure<E>

Source

pub fn capture(error: E) -> Self

Capture the current backtrace, when enabled, and logical span context.

Source

pub fn with_backtrace(error: E, backtrace: Backtrace) -> Self

Retain a previously captured backtrace and capture the current span context.

Source

pub fn error(&self) -> &E

The underlying error.

Source

pub fn backtrace(&self) -> &Backtrace

The captured or supplied OS stack backtrace.

Source

pub fn span_trace(&self) -> Option<&str>

A text snapshot of the logical span context at capture time, if available.

Source

pub fn into_inner(self) -> E

Recover the underlying error, discarding the captured diagnostics.

Source§

impl<E> Failure<E>

Source

pub fn captured_backtrace(&self) -> Option<&Backtrace>

The backtrace when capture succeeded; disabled or unsupported traces are omitted.

Trait Implementations§

Source§

impl<E: Debug> Debug for Failure<E>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<E: Display> Display for Failure<E>

Source§

fn fmt(&self, formatter: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<E: Error + 'static> Error for Failure<E>

Source§

fn source(&self) -> Option<&(dyn Error + 'static)>

Returns the lower-level source of this error, if any. Read more
1.0.0 · Source§

fn description(&self) -> &str

👎Deprecated since 1.42.0:

use the Display impl or to_string()

1.0.0 · Source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

Source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type-based access to context intended for error reports. Read more

Auto Trait Implementations§

§

impl<E> !Freeze for Failure<E>

§

impl<E> RefUnwindSafe for Failure<E>
where E: RefUnwindSafe,

§

impl<E> Send for Failure<E>
where E: Send,

§

impl<E> Sync for Failure<E>
where E: Sync,

§

impl<E> Unpin for Failure<E>
where E: Unpin,

§

impl<E> UnsafeUnpin for Failure<E>
where E: UnsafeUnpin,

§

impl<E> UnwindSafe for Failure<E>
where E: UnwindSafe,

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self> ⓘ

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self> ⓘ

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<E> InstrumentError for E
where TracedError<E>: From<E>,

Source§

type Instrumented = TracedError<E>

The type of the wrapped error after instrumentation
Source§

fn in_current_span(self) -> <E as InstrumentError>::Instrumented

Instrument an Error by bundling it with a SpanTrace Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

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

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘ
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more