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<&Backtrace>;
    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<&Backtrace>

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§

source§

impl ChainedError for error_chain::example_generated::inner::Error

source§

impl ChainedError for error_chain::example_generated::Error