pub struct ChatbotError {
error_type: <ChatbotError as BackendError>::ErrorType,
message: String,
source: Option<Error>,
span_trace: Box<SpanTrace>,
backtrace: Box<Backtrace>,
}Expand description
Error type used in ChatbotError, which is used for errors related to chatbot functionality.
All the information in the error is meant to be seen by the user. The type of error is determined by the ChatbotErrorType enum, which is stored inside this struct.
§Examples
§Usage without source error
if erroneous_condition {
return Err(ChatbotError::new(
ChatbotErrorType::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 ChatbotError. (See impl From<X> implementations on this struct.)
some_function_returning_an_error().map_err(|original_error| {
ChatbotError::new(
ChatbotErrorType::Other,
"Library x failed to do y".to_string(),
Some(original_error.into()),
)
})?;Fields§
§error_type: <ChatbotError as BackendError>::ErrorType§message: String§source: Option<Error>Original error that caused this error.
span_trace: Box<SpanTrace>A trace of tokio tracing spans, generated automatically when the error is generated.
backtrace: Box<Backtrace>Stack trace, generated automatically when the error is created.
Trait Implementations§
Source§impl BackendError for ChatbotError
impl BackendError for ChatbotError
type ErrorType = ChatbotErrorType
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 as BackendError>::ErrorType, new_message: String, ) -> T
Source§impl Debug for ChatbotError
impl Debug for ChatbotError
Source§impl Display for ChatbotError
impl Display for ChatbotError
Source§impl Error for ChatbotError
impl Error for ChatbotError
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<Error> for ChatbotError
impl From<Error> for ChatbotError
Source§impl From<Error> for ChatbotError
impl From<Error> for ChatbotError
Source§impl From<Error> for ChatbotError
impl From<Error> for ChatbotError
Source§fn from(err: Error) -> ChatbotError
fn from(err: Error) -> ChatbotError
Converts to this type from the input type.
Source§impl From<ModelError> for ChatbotError
impl From<ModelError> for ChatbotError
Source§fn from(err: ModelError) -> ChatbotError
fn from(err: ModelError) -> ChatbotError
Converts to this type from the input type.
Source§impl From<ParseError> for ChatbotError
impl From<ParseError> for ChatbotError
Source§fn from(source: ParseError) -> Self
fn from(source: ParseError) -> Self
Converts to this type from the input type.
Auto Trait Implementations§
impl Freeze for ChatbotError
impl !RefUnwindSafe for ChatbotError
impl Send for ChatbotError
impl Sync for ChatbotError
impl Unpin for ChatbotError
impl !UnwindSafe for ChatbotError
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
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<T> ToStringFallible for Twhere
T: Display,
impl<T> ToStringFallible for Twhere
T: Display,
Source§fn try_to_string(&self) -> Result<String, TryReserveError>
fn try_to_string(&self) -> Result<String, TryReserveError>
ToString::to_string, but without panic on OOM.