DatabaseError

Trait DatabaseError 

pub trait DatabaseError:
    'static
    + Send
    + Sync
    + StdError {
    // Required method
    fn message(&self) -> &str;

    // Provided methods
    fn code(&self) -> Option<Cow<'_, str>> { ... }
    fn constraint(&self) -> Option<&str> { ... }
}
Expand description

An error that was returned from the database.

Required Methods§

fn message(&self) -> &str

The primary, human-readable error message.

Provided Methods§

fn code(&self) -> Option<Cow<'_, str>>

The (SQLSTATE) code for the error.

fn constraint(&self) -> Option<&str>

Returns the name of the constraint that triggered the error, if applicable. If the error was caused by a conflict of a unique index, this will be the index name.

§Note

No driver actually implements this

Implementations§

§

impl dyn DatabaseError

pub fn downcast_ref<E: DatabaseError>(&self) -> &E

Downcast a reference to this generic database error to a specific database error type.

§Panics

Panics if the database error type is not E. This is a deliberate contrast from Error::downcast_ref which returns Option<&E>. In normal usage, you should know the specific error type. In other cases, use try_downcast_ref.

pub fn downcast<E: DatabaseError>(self: Box<Self>) -> Box<E>

Downcast this generic database error to a specific database error type.

§Panics

Panics if the database error type is not E. This is a deliberate contrast from Error::downcast which returns Option<E>. In normal usage, you should know the specific error type. In other cases, use try_downcast.

pub fn try_downcast_ref<E: DatabaseError>(&self) -> Option<&E>

Downcast a reference to this generic database error to a specific database error type.

pub fn try_downcast<E: DatabaseError>( self: Box<Self>, ) -> StdResult<Box<E>, Box<Self>>

Downcast this generic database error to a specific database error type.

Trait Implementations§

§

impl Error for Box<dyn DatabaseError>

1.30.0 · 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

Implementors§