[][src]Enum sqlx::Error

#[non_exhaustive]pub enum Error {
    Configuration(Box<dyn Error + 'static + Send + Sync, Global>),
    Database(Box<dyn DatabaseError + 'static, Global>),
    Io(Error),
    Tls(Box<dyn Error + 'static + Send + Sync, Global>),
    Protocol(String),
    RowNotFound,
    ColumnIndexOutOfBounds {
        index: usize,
        len: usize,
    },
    ColumnNotFound(String),
    ColumnDecode {
        index: String,
        source: Box<dyn Error + 'static + Send + Sync, Global>,
    },
    Decode(Box<dyn Error + 'static + Send + Sync, Global>),
    PoolTimedOut,
    PoolClosed,
    WorkerCrashed,
    Migrate(Box<MigrateError, Global>),
}

Represents all the ways a method can fail within SQLx.

Variants (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.
Configuration(Box<dyn Error + 'static + Send + Sync, Global>)

Error occurred while parsing a connection string.

Database(Box<dyn DatabaseError + 'static, Global>)

Error returned from the database.

Io(Error)

Error communicating with the database backend.

Tls(Box<dyn Error + 'static + Send + Sync, Global>)

Error occurred while attempting to establish a TLS connection.

Protocol(String)

Unexpected or invalid data encountered while communicating with the database.

This should indicate there is a programming error in a SQLx driver or there is something corrupted with the connection to the database itself.

RowNotFound

No rows returned by a query that expected to return at least one row.

ColumnIndexOutOfBounds

Column index was out of bounds.

Fields of ColumnIndexOutOfBounds

index: usizelen: usize
ColumnNotFound(String)

No column found for the given name.

ColumnDecode

Error occurred while decoding a value from a specific column.

Fields of ColumnDecode

index: Stringsource: Box<dyn Error + 'static + Send + Sync, Global>
Decode(Box<dyn Error + 'static + Send + Sync, Global>)

Error occurred while decoding a value.

PoolTimedOut

A Pool::acquire timed out due to connections not becoming available or because another task encountered too many errors while trying to open a new connection.

PoolClosed

Pool::close was called while we were waiting in Pool::acquire.

WorkerCrashed

A background worker (e.g. StatementWorker) has crashed.

Implementations

impl Error[src]

pub fn into_database_error(
    self
) -> Option<Box<dyn DatabaseError + 'static, Global>>
[src]

pub fn as_database_error(&self) -> Option<&(dyn DatabaseError + 'static)>[src]

Trait Implementations

impl Debug for Error[src]

impl Display for Error[src]

impl Error for Error[src]

impl<E> From<E> for Error where
    E: DatabaseError
[src]

impl From<Error> for MigrateError[src]

impl From<Error> for Error[src]

impl From<Error> for Error[src]

impl From<MigrateError> for Error[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Conv for T

impl<T> Conv for T

impl<T> FmtForward for T

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Pipe for T where
    T: ?Sized

impl<T> Pipe for T

impl<T> PipeAsRef for T

impl<T> PipeBorrow for T

impl<T> PipeDeref for T

impl<T> PipeRef for T

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T> Tap for T

impl<T> Tap for T

impl<T, U> TapAsRef<U> for T where
    U: ?Sized

impl<T, U> TapBorrow<U> for T where
    U: ?Sized

impl<T> TapDeref for T

impl<T> ToString for T where
    T: Display + ?Sized
[src]

impl<T> TryConv for T

impl<T> TryConv for T

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,