#[non_exhaustive]pub enum TypeError {
UnexpectedNull,
TypeMismatch {
expected: &'static str,
actual: String,
},
OutOfRange {
target_type: &'static str,
},
InvalidEncoding(String),
InvalidBinary(String),
InvalidDateTime(String),
InvalidDecimal(String),
InvalidUuid(String),
Truncation(String),
UnsupportedConversion {
from: String,
to: &'static str,
},
BufferTooSmall {
needed: usize,
available: usize,
},
}Expand description
Errors that can occur during type conversion.
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.
UnexpectedNull
Value is null when non-null was expected.
TypeMismatch
Type mismatch during conversion.
OutOfRange
Value is out of range for target type.
InvalidEncoding(String)
Invalid encoding in string data.
InvalidBinary(String)
Invalid binary data.
InvalidDateTime(String)
Invalid date/time value.
InvalidDecimal(String)
Invalid decimal value.
InvalidUuid(String)
Invalid UUID value.
Truncation(String)
Truncation occurred during conversion.
UnsupportedConversion
Unsupported type conversion.
BufferTooSmall
Buffer too small for value.
Implementations§
Source§impl TypeError
impl TypeError
Sourcepub fn is_transient(&self) -> bool
pub fn is_transient(&self) -> bool
Check if this error is transient and may succeed on retry.
Type conversion errors are always terminal — they indicate a mismatch between the SQL type and the Rust type, which won’t resolve itself on retry.
Sourcepub fn is_terminal(&self) -> bool
pub fn is_terminal(&self) -> bool
Check if this error is terminal and will never succeed on retry.
All type errors are terminal.
Trait Implementations§
Source§impl Error for TypeError
impl Error for TypeError
1.30.0 · 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()
Auto Trait Implementations§
impl Freeze for TypeError
impl RefUnwindSafe for TypeError
impl Send for TypeError
impl Sync for TypeError
impl Unpin for TypeError
impl UnsafeUnpin for TypeError
impl UnwindSafe for TypeError
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