Trait mailpot::ChainedError

source ·
pub trait ChainedError: Error + Send + 'static {
    type ErrorKind;

    // Required methods
    fn from_kind(kind: Self::ErrorKind) -> Self
       where Self: Sized;
    fn with_chain<E, K>(error: E, kind: K) -> Self
       where Self: Sized,
             E: Error + Send + 'static,
             K: Into<Self::ErrorKind>;
    fn kind(&self) -> &Self::ErrorKind;
    fn iter(&self) -> Iter<'_>;
    fn backtrace(&self) -> Option<&()>;
    fn chain_err<F, EK>(self, error: F) -> Self
       where F: FnOnce() -> EK,
             EK: Into<Self::ErrorKind>;

    // Provided method
    fn display_chain<'a>(&'a self) -> DisplayChain<'a, Self> { ... }
}
Expand description

This trait is implemented on all the errors generated by the error_chain macro.

Required Associated Types§

source

type ErrorKind

Associated kind type.

Required Methods§

source

fn from_kind(kind: Self::ErrorKind) -> Selfwhere Self: Sized,

Constructs an error from a kind, and generates a backtrace.

source

fn with_chain<E, K>(error: E, kind: K) -> Selfwhere Self: Sized, E: Error + Send + 'static, K: Into<Self::ErrorKind>,

Constructs a chained error from another error and a kind, and generates a backtrace.

source

fn kind(&self) -> &Self::ErrorKind

Returns the kind of the error.

source

fn iter(&self) -> Iter<'_>

Iterates over the error chain.

source

fn backtrace(&self) -> Option<&()>

Returns the backtrace associated with this error.

source

fn chain_err<F, EK>(self, error: F) -> Selfwhere F: FnOnce() -> EK, EK: Into<Self::ErrorKind>,

Extends the error chain with a new entry.

Provided Methods§

source

fn display_chain<'a>(&'a self) -> DisplayChain<'a, Self>

Returns an object which implements Display for printing the full context of this error.

The full cause chain and backtrace, if present, will be printed.

Implementors§