#[non_exhaustive]pub enum DatabaseError {
Operation {
operation: DatabaseOperation,
message: String,
table: Option<String>,
record_id: Option<String>,
},
}Expand description
Database-category native errors.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
Operation
Database operation failure (driver/engine-side).
Implementations§
Source§impl DatabaseError
impl DatabaseError
Sourcepub fn new(operation: DatabaseOperation, message: impl Into<String>) -> Self
pub fn new(operation: DatabaseOperation, message: impl Into<String>) -> Self
Construct a database error without table/record context.
Sourcepub fn with_context(
operation: DatabaseOperation,
message: impl Into<String>,
table: Option<String>,
record_id: Option<String>,
) -> Self
pub fn with_context( operation: DatabaseOperation, message: impl Into<String>, table: Option<String>, record_id: Option<String>, ) -> Self
Construct a database error with table/record context.
Trait Implementations§
Source§impl Debug for DatabaseError
impl Debug for DatabaseError
Source§impl Display for DatabaseError
impl Display for DatabaseError
Source§impl Error for DatabaseError
impl Error for DatabaseError
1.30.0 · 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
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<DatabaseError> for Error
impl From<DatabaseError> for Error
Source§fn from(source: DatabaseError) -> Self
fn from(source: DatabaseError) -> Self
Converts to this type from the input type.
Source§impl UserFriendlyError for DatabaseError
impl UserFriendlyError for DatabaseError
Source§fn user_message(&self) -> String
fn user_message(&self) -> String
User-facing message that is clear, actionable, and non-technical. Read more
Source§fn developer_message(&self) -> String
fn developer_message(&self) -> String
Technical message with detailed information for developers and logs. Read more
Source§fn support_code(&self) -> String
fn support_code(&self) -> String
Unique support reference code for customer service and troubleshooting. Read more
Source§fn severity(&self) -> ErrorSeverity
fn severity(&self) -> ErrorSeverity
Error severity level for proper handling and alerting.
Source§fn suggested_actions(&self) -> Vec<String>
fn suggested_actions(&self) -> Vec<String>
Suggested user actions for resolving the error.
Source§fn is_retryable(&self) -> bool
fn is_retryable(&self) -> bool
Whether this error should be retryable by the user.
Auto Trait Implementations§
impl Freeze for DatabaseError
impl RefUnwindSafe for DatabaseError
impl Send for DatabaseError
impl Sync for DatabaseError
impl Unpin for DatabaseError
impl UnwindSafe for DatabaseError
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<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> Pointable for T
impl<T> Pointable for T
Source§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.