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§
Required Methods§
Sourcefn from_kind(kind: Self::ErrorKind) -> Selfwhere
Self: Sized,
fn from_kind(kind: Self::ErrorKind) -> Selfwhere
Self: Sized,
Constructs an error from a kind, and generates a backtrace.
Sourcefn with_chain<E, K>(error: E, kind: K) -> Self
fn with_chain<E, K>(error: E, kind: K) -> Self
Constructs a chained error from another error and a kind, and generates a backtrace.
Provided Methods§
Sourcefn display_chain<'a>(&'a self) -> DisplayChain<'a, Self>
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.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.