#[non_exhaustive]pub enum RullstError {
NotInitialized,
AlreadyInitialized,
RecordNotFound,
DatabaseError(String),
#[non_exhaustive] UniqueViolation {
constraint: Option<String>,
},
#[non_exhaustive] ForeignKeyViolation {
constraint: Option<String>,
},
#[non_exhaustive] UnsupportedSchemaChange {
driver: String,
change: String,
},
SerializationError(String),
CacheError(String),
PostCommit(String),
Validation(String),
Internal(String),
}Expand description
The standard error type for rullst-orm, shielding users from internal dependency errors.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
NotInitialized
The global ORM state has not been initialized yet.
AlreadyInitialized
The global ORM state was already initialized by an earlier call.
RecordNotFound
A record was not found in the database.
DatabaseError(String)
A general database or query error.
#[non_exhaustive]UniqueViolation
A unique or primary-key constraint rejected the statement, for example
a second user with the same email. Match it as
UniqueViolation { .. }: later versions may add fields. Added in v13.
Fields
This variant is marked as non-exhaustive
#[non_exhaustive]ForeignKeyViolation
A foreign-key constraint rejected the statement: the referenced row
does not exist, or a row still references the one being deleted.
Match it as ForeignKeyViolation { .. }. Added in v13.
Fields
This variant is marked as non-exhaustive
#[non_exhaustive]UnsupportedSchemaChange
The connected database cannot make this schema change, for example
adding a foreign key to an existing SQLite table. Schema::table
returns it before running any statement. Match it as
UnsupportedSchemaChange { .. }. Added in v13.
Fields
This variant is marked as non-exhaustive
SerializationError(String)
A serialization or deserialization error (e.g., JSON).
CacheError(String)
A cache or event-related error.
PostCommit(String)
A database commit succeeded, but one or more post-commit effects failed.
Validation(String)
A validation error, such as invalid SQL identifiers.
Internal(String)
Other internal errors.
Trait Implementations§
Source§impl Clone for RullstError
impl Clone for RullstError
Source§impl Debug for RullstError
impl Debug for RullstError
Source§impl Display for RullstError
impl Display for RullstError
Source§impl Error for RullstError
impl Error for RullstError
1.30.0 · Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()
Source§impl From<Error> for RullstError
impl From<Error> for RullstError
Source§impl From<Error> for RullstError
impl From<Error> for RullstError
Source§impl From<PrivacyError> for RullstError
impl From<PrivacyError> for RullstError
Source§fn from(err: PrivacyError) -> Self
fn from(err: PrivacyError) -> Self
Auto Trait Implementations§
impl Freeze for RullstError
impl RefUnwindSafe for RullstError
impl Send for RullstError
impl Sync for RullstError
impl Unpin for RullstError
impl UnsafeUnpin for RullstError
impl UnwindSafe for RullstError
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more