pub enum ErrorCategory {
Show 16 variants
BadInput,
Retryable,
Unrecoverable,
NotFound,
UnknownDataSource,
DatabaseConnectionLost,
DatabaseTransient,
RetryTimeoutExceeded,
Database,
License,
NotInitialized,
Unhandled,
Configuration,
ReplaceConflict,
EnvironmentDestroyed,
Unknown,
}Expand description
Error categories for hierarchy-based error handling.
Use these with SzError::is() or SzErrorInspect::is_sz() for
polymorphic error checking. The hierarchy means a DatabaseTransient
error matches both ErrorCategory::DatabaseTransient (specific) and
ErrorCategory::Retryable (parent). Check specific categories first,
then broader ones.
§Examples
use sz_rust_sdk::prelude::*;
if let Err(e) = engine.add_record("TEST", "1", "{}", None) {
if e.is(ErrorCategory::DatabaseTransient) {
eprintln!("Transient database issue, retry immediately");
} else if e.is(ErrorCategory::Retryable) {
eprintln!("Retryable error, retry with backoff");
} else if e.is(ErrorCategory::NotFound) {
eprintln!("Entity/record not found");
}
}Variants§
BadInput
Retryable
Unrecoverable
NotFound
UnknownDataSource
DatabaseConnectionLost
DatabaseTransient
RetryTimeoutExceeded
Database
License
NotInitialized
Unhandled
Configuration
ReplaceConflict
EnvironmentDestroyed
Unknown
Trait Implementations§
Source§impl Clone for ErrorCategory
impl Clone for ErrorCategory
Source§fn clone(&self) -> ErrorCategory
fn clone(&self) -> ErrorCategory
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for ErrorCategory
impl Debug for ErrorCategory
Source§impl PartialEq for ErrorCategory
impl PartialEq for ErrorCategory
impl Copy for ErrorCategory
impl Eq for ErrorCategory
impl StructuralPartialEq for ErrorCategory
Auto Trait Implementations§
impl Freeze for ErrorCategory
impl RefUnwindSafe for ErrorCategory
impl Send for ErrorCategory
impl Sync for ErrorCategory
impl Unpin for ErrorCategory
impl UnwindSafe for ErrorCategory
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more