FromSqlError

Enum FromSqlError 

Source
#[non_exhaustive]
pub enum FromSqlError { InvalidType, OutOfRange(i64), InvalidBlobSize { expected_size: usize, blob_size: usize, }, Other(Box<dyn Error + Send + Sync + 'static>), }
Expand description

Enum listing possible errors from FromSql trait.

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.
§

InvalidType

Error when an SQLite value is requested, but the type of the result cannot be converted to the requested Rust type.

§

OutOfRange(i64)

Error when the i64 value returned by SQLite cannot be stored into the requested type.

§

InvalidBlobSize

Error when the blob result returned by SQLite cannot be stored into the requested type due to a size mismatch.

Fields

§expected_size: usize

The expected size of the blob.

§blob_size: usize

The actual size of the blob that was returned.

§

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

An error case available for implementors of the FromSql trait.

Implementations§

Source§

impl FromSqlError

Source

pub fn other<E: Error + Send + Sync + 'static>(error: E) -> Self

Converts an arbitrary error type to FromSqlError.

This is a convenience function that boxes and unsizes the error type. It’s main purpose is to be usable in the map_err method. So instead of result.map_err(|error| FromSqlError::Other(Box::new(error)) you can write result.map_err(FromSqlError::other).

Trait Implementations§

Source§

impl Debug for FromSqlError

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Display for FromSqlError

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Error for FromSqlError

Source§

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

👎Deprecated since 1.42.0: use the Display impl or to_string()
1.0.0 · Source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
Source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type-based access to context intended for error reports. Read more
Source§

impl From<FromSqlError> for Error

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

Source§

fn from(err: FromSqlError) -> Self

Converts to this type from the input type.
Source§

impl PartialEq for FromSqlError

Source§

fn eq(&self, other: &Self) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

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

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.

Layout§

Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...) attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.

Size: 24 bytes

Size for each variant:

  • InvalidType: 0 bytes
  • OutOfRange: 8 bytes
  • InvalidBlobSize: 16 bytes
  • Other: 16 bytes