[][src]Enum rusqlite::Error

#[non_exhaustive]pub enum Error {
    SqliteFailure(ErrorOption<String>),
    SqliteSingleThreadedMode,
    FromSqlConversionFailure(usizeTypeBox<dyn Error + Send + Sync + 'static>),
    IntegralValueOutOfRange(usizei64),
    Utf8Error(Utf8Error),
    NulError(NulError),
    InvalidParameterName(String),
    InvalidPath(PathBuf),
    ExecuteReturnedResults,
    QueryReturnedNoRows,
    InvalidColumnIndex(usize),
    InvalidColumnName(String),
    InvalidColumnType(usizeStringType),
    StatementChangedRows(usize),
    InvalidFunctionParameterType(usizeType),
    InvalidFilterParameterType(usizeType),
    UserFunctionError(Box<dyn Error + Send + Sync + 'static>),
    ToSqlConversionFailure(Box<dyn Error + Send + Sync + 'static>),
    InvalidQuery,
    ModuleError(String),
    UnwindingPanic,
    GetAuxWrongType,
    MultipleStatement,
    InvalidParameterCount(usizeusize),
    BlobSizeError,
}

Enum listing possible errors from rusqlite.

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.
SqliteFailure(ErrorOption<String>)

An error from an underlying SQLite call.

SqliteSingleThreadedMode

Error reported when attempting to open a connection when SQLite was configured to allow single-threaded use only.

FromSqlConversionFailure(usizeTypeBox<dyn Error + Send + Sync + 'static>)

Error when the value of a particular column is requested, but it cannot be converted to the requested Rust type.

IntegralValueOutOfRange(usizei64)

Error when SQLite gives us an integral value outside the range of the requested type (e.g., trying to get the value 1000 into a u8). The associated usize is the column index, and the associated i64 is the value returned by SQLite.

Utf8Error(Utf8Error)

Error converting a string to UTF-8.

NulError(NulError)

Error converting a string to a C-compatible string because it contained an embedded nul.

InvalidParameterName(String)

Error when using SQL named parameters and passing a parameter name not present in the SQL.

InvalidPath(PathBuf)

Error converting a file path to a string.

ExecuteReturnedResults

Error returned when an execute call returns rows.

QueryReturnedNoRows

Error when a query that was expected to return at least one row (e.g., for query_row) did not return any.

InvalidColumnIndex(usize)

Error when the value of a particular column is requested, but the index is out of range for the statement.

InvalidColumnName(String)

Error when the value of a named column is requested, but no column matches the name for the statement.

InvalidColumnType(usizeStringType)

Error when the value of a particular column is requested, but the type of the result in that column cannot be converted to the requested Rust type.

StatementChangedRows(usize)

Error when a query that was expected to insert one row did not insert any or insert many.

InvalidFunctionParameterType(usizeType)

Error returned by functions::Context::get when the function argument cannot be converted to the requested type.

InvalidFilterParameterType(usizeType)

Error returned by vtab::Values::get when the filter argument cannot be converted to the requested type.

UserFunctionError(Box<dyn Error + Send + Sync + 'static>)

An error case available for implementors of custom user functions (e.g., create_scalar_function).

ToSqlConversionFailure(Box<dyn Error + Send + Sync + 'static>)

Error available for the implementors of the ToSql trait.

InvalidQuery

Error when the SQL is not a SELECT, is not read-only.

ModuleError(String)

An error case available for implementors of custom modules (e.g., create_module).

UnwindingPanic

An unwinding panic occurs in an UDF (user-defined function).

GetAuxWrongType

An error returned when Context::get_aux attempts to retrieve data of a different type than what had been stored using Context::set_aux.

MultipleStatement

Error when the SQL contains multiple statements.

InvalidParameterCount(usizeusize)

Error when the number of bound parameters does not match the number of parameters in the query. The first usize is how many parameters were given, the 2nd is how many were expected.

BlobSizeError

Returned from various functions in the Blob IO positional API. For example, Blob::raw_read_at_exact will return it if the blob has insufficient data.

Trait Implementations

impl Debug for Error[src]

impl Display for Error[src]

impl Error for Error[src]

impl From<FromSqlError> for Error[src]

The conversion isn't precise, but it's convenient to have it to allow use of get_raw(…).as_…()? in callbacks that take Error.

impl From<NulError> for Error[src]

impl From<Utf8Error> for Error[src]

impl PartialEq<Error> for Error[src]

Auto Trait Implementations

impl !RefUnwindSafe for Error

impl Send for Error

impl Sync for Error

impl Unpin for Error

impl !UnwindSafe for Error

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> From<T> for T[src]

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

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

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.