pub struct Error(pub ErrorKind, _);
Expand description
The Error type.
This tuple struct is made of two elements:
- an
ErrorKind
which is used to determine the type of the error. - An internal
State
, not meant for direct use outside oferror_chain
internals, containing:- a backtrace, generated when the error is created.
- an error chain, used for the implementation of
Error::cause()
.
Tuple Fields§
§0: ErrorKind
The kind of the error.
Implementations§
source§impl Error
impl Error
sourcepub fn from_kind(kind: ErrorKind) -> Error
pub fn from_kind(kind: ErrorKind) -> Error
Constructs an error from a kind, and generates a backtrace.
sourcepub fn with_chain<E, K>(error: E, kind: K) -> Errorwhere
E: Error + Send + 'static,
K: Into<ErrorKind>,
pub fn with_chain<E, K>(error: E, kind: K) -> Errorwhere
E: Error + Send + 'static,
K: Into<ErrorKind>,
Constructs a chained error from another error and a kind, and generates a backtrace.
sourcepub fn with_boxed_chain<K>(error: Box<dyn Error + Send>, kind: K) -> Errorwhere
K: Into<ErrorKind>,
pub fn with_boxed_chain<K>(error: Box<dyn Error + Send>, kind: K) -> Errorwhere
K: Into<ErrorKind>,
Construct a chained error from another boxed error and a kind, and generates a backtrace
sourcepub fn backtrace(&self) -> Option<&Backtrace>
pub fn backtrace(&self) -> Option<&Backtrace>
Returns the backtrace associated with this error.
sourcepub fn chain_err<F, EK>(self, error: F) -> Errorwhere
F: FnOnce() -> EK,
EK: Into<ErrorKind>,
pub fn chain_err<F, EK>(self, error: F) -> Errorwhere
F: FnOnce() -> EK,
EK: Into<ErrorKind>,
Extends the error chain with a new entry.
sourcepub fn description(&self) -> &str
pub fn description(&self) -> &str
A short description of the error.
This method is identical to Error::description()
source§impl Error
impl Error
sourcepub fn dump_uncolorized(&self)
pub fn dump_uncolorized(&self)
Write the information contained in this object to standard error in a somewhat user-friendly form.
The error_chain
crate provides a Display impl for its Error objects
that ought to provide this functionality, but I have had enormous
trouble being able to use it. So instead we emulate their code. This
function is also paralleled by the implementation in
status::termcolor::TermcolorStatusBackend
, which adds the sugar of
providing nice colorization if possible. This function should only be
used if a StatusBackend
is not yet available in the running program.
Trait Implementations§
source§impl ChainedError for Error
impl ChainedError for Error
source§fn from_kind(kind: Self::ErrorKind) -> Self
fn from_kind(kind: Self::ErrorKind) -> Self
source§fn with_chain<E, K>(error: E, kind: K) -> Selfwhere
E: Error + Send + 'static,
K: Into<Self::ErrorKind>,
fn with_chain<E, K>(error: E, kind: K) -> Selfwhere
E: Error + Send + 'static,
K: Into<Self::ErrorKind>,
source§fn chain_err<F, EK>(self, error: F) -> Selfwhere
F: FnOnce() -> EK,
EK: Into<ErrorKind>,
fn chain_err<F, EK>(self, error: F) -> Selfwhere
F: FnOnce() -> EK,
EK: Into<ErrorKind>,
source§fn display_chain<'a>(&'a self) -> DisplayChain<'a, Self>
fn display_chain<'a>(&'a self) -> DisplayChain<'a, Self>
Display
for printing the full
context of this error. Read moresource§impl DefinitelySame for Error
impl DefinitelySame for Error
source§fn definitely_same(&self, other: &Self) -> bool
fn definitely_same(&self, other: &Self) -> bool
Here we abuse DefinitelySame a bit and ignore the backtrace etc.