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
impl BackendError for UtilError
type ErrorType = UtilErrorType
fn new<M: Into<String>, S: Into<Option<Error>>>( error_type: Self::ErrorType, message: M, source_error: S, ) -> Self
fn backtrace(&self) -> Option<&Backtrace>
fn error_type(&self) -> &Self::ErrorType
fn message(&self) -> &str
fn span_trace(&self) -> &SpanTrace
fn new_with_traces<M: Into<String>, S: Into<Option<Error>>>( error_type: Self::ErrorType, message: M, source_error: S, backtrace: Backtrace, span_trace: SpanTrace, ) -> Self
fn to_different_error<T>( self, new_error_type: T::ErrorType, new_message: String, ) -> T
Source§impl Error for UtilError
impl Error for UtilError
Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
Returns the lower-level source of this error, if any. Read more
Source§fn cause(&self) -> Option<&dyn Error>
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
fn description(&self) -> &str
👎Deprecated since 1.42.0: use the Display impl or to_string()
Source§impl From<ParseError> for UtilError
impl From<ParseError> for UtilError
Source§fn from(source: ParseError) -> Self
fn from(source: ParseError) -> Self
Converts to this type from the input type.
Source§impl From<StripPrefixError> for UtilError
impl From<StripPrefixError> for UtilError
Source§fn from(source: StripPrefixError) -> Self
fn from(source: StripPrefixError) -> Self
Converts to this type from the input type.
Auto Trait Implementations§
impl Freeze for UtilError
impl !RefUnwindSafe for UtilError
impl Send for UtilError
impl Sync for UtilError
impl Unpin for UtilError
impl !UnwindSafe for UtilError
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<E> InstrumentError for Ewhere
TracedError<E>: From<E>,
impl<E> InstrumentError for Ewhere
TracedError<E>: From<E>,
Source§type Instrumented = TracedError<E>
type Instrumented = TracedError<E>
The type of the wrapped error after instrumentation
Source§fn in_current_span(self) -> <E as InstrumentError>::Instrumented
fn in_current_span(self) -> <E as InstrumentError>::Instrumented
Instrument an Error by bundling it with a SpanTrace Read more