Trait headless_lms_utils::error::backend_error::BackendError
source · pub trait BackendError: Error + Sync {
type ErrorType: Debug;
// Required methods
fn new(
error_type: Self::ErrorType,
message: String,
source_error: Option<Error>
) -> Self;
fn new_with_traces(
error_type: Self::ErrorType,
message: String,
source_error: Option<Error>,
backtrace: Backtrace,
span_trace: SpanTrace
) -> Self;
fn backtrace(&self) -> Option<&Backtrace>;
fn error_type(&self) -> &Self::ErrorType;
fn message(&self) -> &str;
fn span_trace(&self) -> &SpanTrace;
// Provided method
fn to_different_error<T>(
self,
new_error_type: T::ErrorType,
new_message: String
) -> T
where T: BackendError,
Self: Sized + 'static + Send { ... }
}
Expand description
The error types of this program all implement this trait for interoperability.
Required Associated Types§
Required Methods§
fn new( error_type: Self::ErrorType, message: String, source_error: Option<Error> ) -> Self
fn new_with_traces( error_type: Self::ErrorType, message: String, source_error: Option<Error>, backtrace: Backtrace, span_trace: SpanTrace ) -> Self
fn backtrace(&self) -> Option<&Backtrace>
fn error_type(&self) -> &Self::ErrorType
fn message(&self) -> &str
fn span_trace(&self) -> &SpanTrace
Provided Methods§
fn to_different_error<T>( self, new_error_type: T::ErrorType, new_message: String ) -> T
Object Safety§
This trait is not object safe.