pub struct UtilError {
    error_type: <UtilError as BackendError>::ErrorType,
    message: String,
    source: Option<Error>,
    span_trace: SpanTrace,
    backtrace: Backtrace,
}
Expand description

Error type used by all models. Used as the error type in UtilError, which is used by all the controllers in the application.

All the information in the error is meant to be seen by the user. The type of error is determined by the UtilErrorType enum, which is stored inside this struct.

Examples

Usage without source error

if erroneous_condition {
    return Err(UtilError::new(
        UtilErrorType::Other,
        "File not found".to_string(),
        None,
    ));
}

Usage with a source error

Used when calling a function that returns an error that cannot be automatically converted to an UtilError. (See impl From<X> implementations on this struct.)

some_function_returning_an_error().map_err(|original_error| {
    UtilError::new(
        UtilErrorType::Other,
        "Library x failed to do y".to_string(),
        Some(original_error.into()),
    )
})?;

Fields§

§error_type: <UtilError as BackendError>::ErrorType§message: String§source: Option<Error>

Original error that caused this error.

§span_trace: SpanTrace

A trace of tokio tracing spans, generated automatically when the error is generated.

§backtrace: Backtrace

Stack trace, generated automatically when the error is created.

Trait Implementations§

source§

impl BackendError for UtilError

§

type ErrorType = UtilErrorType

source§

fn new( error_type: Self::ErrorType, message: String, source_error: Option<Error> ) -> Self

source§

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

source§

fn error_type(&self) -> &Self::ErrorType

source§

fn message(&self) -> &str

source§

fn span_trace(&self) -> &SpanTrace

source§

fn new_with_traces( error_type: Self::ErrorType, message: String, source_error: Option<Error>, backtrace: Backtrace, span_trace: SpanTrace ) -> Self

source§

fn to_different_error<T>( self, new_error_type: T::ErrorType, new_message: String ) -> T
where T: BackendError, Self: Sized + 'static + Send,

source§

impl Debug for UtilError

source§

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

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

impl Display for UtilError

source§

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

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

impl Error for UtilError

source§

fn source(&self) -> Option<&(dyn Error + 'static)>

The lower-level source of this error, if any. Read more
source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
1.0.0 · source§

fn description(&self) -> &str

👎Deprecated since 1.42.0: use the Display impl or to_string()
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<Error> for UtilError

source§

fn from(source: Error) -> Self

Converts to this type from the input type.
source§

impl From<Error> for UtilError

source§

fn from(source: Error) -> Self

Converts to this type from the input type.
source§

impl From<Error> for UtilError

source§

fn from(source: Error) -> Self

Converts to this type from the input type.
source§

impl From<Error> for UtilError

source§

fn from(err: Error) -> UtilError

Converts to this type from the input type.
source§

impl From<Error> for UtilError

source§

fn from(source: Error) -> Self

Converts to this type from the input type.
source§

impl From<ParseError> for UtilError

source§

fn from(source: ParseError) -> Self

Converts to this type from the input type.
source§

impl From<StripPrefixError> for UtilError

source§

fn from(source: StripPrefixError) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

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<E> InstrumentError for E
where TracedError<E>: From<E>,

§

type Instrumented = TracedError<E>

The type of the wrapped error after instrumentation
source§

fn in_current_span(self) -> <E as InstrumentError>::Instrumented

Instrument an Error by bundling it with a SpanTrace 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> ToString for T
where T: Display + ?Sized,

source§

default 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>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

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<V, T> VZip<V> for T
where V: MultiLane<T>,

source§

fn vzip(self) -> V

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