pub enum Error {
Show 14 variants
Connection(ConnectionError),
Query(QueryError),
Type(TypeError),
Transaction(TransactionError),
Protocol(ProtocolError),
Pool(PoolError),
Schema(SchemaError),
Config(ConfigError),
Validation(ValidationError),
Io(Error),
Timeout,
Cancelled,
Serde(String),
Custom(String),
}Expand description
The primary error type for all SQLModel operations.
Variants§
Connection(ConnectionError)
Connection-related errors (connect, disconnect, timeout)
Query(QueryError)
Query execution errors
Type(TypeError)
Type conversion errors
Transaction(TransactionError)
Transaction errors
Protocol(ProtocolError)
Protocol errors (wire-level)
Pool(PoolError)
Pool errors
Schema(SchemaError)
Schema/migration errors
Config(ConfigError)
Configuration errors
Validation(ValidationError)
Validation errors
Io(Error)
I/O errors
Timeout
Operation timed out
Cancelled
Operation was cancelled via asupersync
Serde(String)
Serialization/deserialization errors
Custom(String)
Custom error with message
Implementations§
Source§impl Error
impl Error
Sourcepub fn is_retryable(&self) -> bool
pub fn is_retryable(&self) -> bool
Is this a retryable error (deadlock, serialization, pool exhausted, timeouts)?
Sourcepub fn is_pool_poisoned(&self) -> bool
pub fn is_pool_poisoned(&self) -> bool
Is this error due to a poisoned mutex in the connection pool?
A poisoned mutex indicates a thread panicked while holding the lock. This is a serious internal error and the pool may be in an inconsistent state.
Sourcepub fn is_connection_error(&self) -> bool
pub fn is_connection_error(&self) -> bool
Is this a connection error that likely requires reconnection?
Trait Implementations§
Source§impl Error for Error
impl Error for Error
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<ConfigError> for Error
impl From<ConfigError> for Error
Source§fn from(err: ConfigError) -> Self
fn from(err: ConfigError) -> Self
Converts to this type from the input type.
Source§impl From<ConnectionError> for Error
impl From<ConnectionError> for Error
Source§fn from(err: ConnectionError) -> Self
fn from(err: ConnectionError) -> Self
Converts to this type from the input type.
Source§impl From<ProtocolError> for Error
impl From<ProtocolError> for Error
Source§fn from(err: ProtocolError) -> Self
fn from(err: ProtocolError) -> Self
Converts to this type from the input type.
Source§impl From<QueryError> for Error
impl From<QueryError> for Error
Source§fn from(err: QueryError) -> Self
fn from(err: QueryError) -> Self
Converts to this type from the input type.
Source§impl From<SchemaError> for Error
impl From<SchemaError> for Error
Source§fn from(err: SchemaError) -> Self
fn from(err: SchemaError) -> Self
Converts to this type from the input type.
Source§impl From<TransactionError> for Error
impl From<TransactionError> for Error
Source§fn from(err: TransactionError) -> Self
fn from(err: TransactionError) -> Self
Converts to this type from the input type.
Source§impl From<ValidationError> for Error
impl From<ValidationError> for Error
Source§fn from(err: ValidationError) -> Self
fn from(err: ValidationError) -> Self
Converts to this type from the input type.
Auto Trait Implementations§
impl Freeze for Error
impl !RefUnwindSafe for Error
impl Send for Error
impl Sync for Error
impl Unpin for Error
impl !UnwindSafe for Error
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: NoopSpan) -> Self
fn instrument(self, _span: NoopSpan) -> Self
Instruments this future with a span (no-op when disabled).
Source§fn in_current_span(self) -> Self
fn in_current_span(self) -> Self
Instruments this future with the current span (no-op when disabled).