Skip to main content

Error

Struct Error 

Source
pub struct Error { /* private fields */ }
Expand description

A common error type for all Tango operations, which support metadata and easy to build chaining of errors.

Implementations§

Source§

impl Error

Source

pub fn new(kind: ErrorKind<'_>) -> Self

Create a new error of the given kind, this will grab the origin of the error from the caller’s location. A default description is written depending on it by default, you can append or replace this description later.

Source

pub fn reason(&self) -> &str

Return the standardized textual reason.

Source

pub fn kind(&self) -> ErrorKind<'_>

Get the kind of error, returning the raw reason if not categorized.

Source

pub fn set_kind(&mut self, kind: ErrorKind<'_>)

Change the kind of this error, this will also ensures that the associated reason is correponding to the new error kind. If the description is empty at this point, the description os overriden with a default description.

Source

pub fn with_kind(self, kind: ErrorKind<'_>) -> Self

Change the kind of this error, and return itself.

Source

pub fn description(&self) -> &str

Return the description of the error.

Source

pub fn append_description(&mut self, additional: impl Display)

Append the given additional description to the error’s description, if the error is currently empty, then this replaces the previous description. If a description already exists, it appends the description on a new line.

Source

pub fn set_description(&mut self, description: impl Into<Cow<'static, str>>)

Overwrite any existing description with the given one.

Source

pub fn with_append_description(self, additional: impl Display) -> Self

Same as Self::append_description, and return itself.

Source

pub fn with_description(self, description: impl Into<Cow<'static, str>>) -> Self

Overwrite any existing description with the given one, and return itself.

Source

pub fn severity(&self) -> ErrorSeverity

Return the severity of this error.

Source

pub fn set_severity(&mut self, severity: ErrorSeverity)

Set the severity of the error.

Source

pub fn with_severity(self, severity: ErrorSeverity) -> Self

Set the severity of the error, and return itself.

Source

pub fn origin(&self) -> &str

Return the origin of this error, set by default to the caller’s code location.

Source

pub fn append_origin(&mut self, additional: impl Display)

Append the given additional origin to the existing origin, in order to add details, a space is added before insertion. If the origin has been replaced and is empty, then no space is added.

Source

pub fn set_origin(&mut self, origin: impl Into<Cow<'static, str>>)

Overwrite any existing origin with the given one.

Source

pub fn with_append_origin(self, additional: impl Display) -> Self

Same as Self::append_origin, and return itself.

Source

pub fn with_origin(self, origin: impl Into<Cow<'static, str>>) -> Self

Overwrite any existing origin with the given one, and return itself.

Source

pub fn set_origin_from_caller(&mut self)

Overwrite the existing origin with the current location of the caller.

Source

pub fn with_origin_from_caller(self) -> Self

Overwrite the existing origin with the current location of the caller, and return itself.

Source

pub fn parent(&self) -> Option<&Error>

If the source of this error is a parent Tango error, returns a shared ref to it. To get a more generic source for this error, use the standard error::Error::source method.

Source

pub fn set_parent(&mut self, parent: Error)

Set the parent source of this error.

Source

pub fn with_parent(self, parent: Error) -> Self

Set the parent source of this error and return itself.

Source

pub fn set_source(&mut self, source: Box<dyn Error + Send + Sync>)

Set the generic source of this error.

Source

pub fn with_source(self, source: Box<dyn Error + Send + Sync>) -> Self

Set the generic source of this error and return itself.

Trait Implementations§

Source§

impl Debug for Error

Written like Display, within Error(...): the derived struct dump is what a main returning a Result would otherwise print, and it is unreadable. The alternate form gives the alternate one of Display, one error per block, with their origins.

Source§

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

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

impl Display for Error

The whole chain of this error and its parents, on a single line, each error giving its reason and its description, escaped so that a description of several lines stays on that line: this is what a log line carries, see {:#} for what a person reads.

The alternate form gives an error per block, the origin of each of them along with it: a code location is noise in a log line, and the first thing wanted when debugging.

Source§

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

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

impl Error for Error

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
Source§

impl From<!> for Error

Source§

fn from(never: Infallible) -> Self

Converts to this type from the input type.
Source§

impl From<Error> for Error

Source§

fn from(value: Error) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

§

impl !RefUnwindSafe for Error

§

impl !UnwindSafe for Error

§

impl Freeze for Error

§

impl Send for Error

§

impl Sync for Error

§

impl Unpin for Error

§

impl UnsafeUnpin for Error

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<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> Model for T
where T: Send + Sync + 'static,

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