[][src]Enum cosmwasm_std::SystemError

#[non_exhaustive]pub enum SystemError {
    InvalidRequest {
        error: String,
        request: Binary,
    },
    InvalidResponse {
        error: String,
        response: Binary,
    },
    NoSuchContract {
        addr: HumanAddr,
    },
    Unknown {},
    UnsupportedRequest {
        kind: String,
    },
}

SystemError is used for errors inside the VM and is API friendly (i.e. serializable).

This is used on return values for Querier as a nested result: Result<StdResult, SystemError> The first wrap (SystemError) will trigger if the contract address doesn't exist, the QueryRequest is malformated, etc. The second wrap will be an error message from the contract itself.

Such errors are only created by the VM. The error type is defined in the standard library, to ensure the contract understands the error format without creating a dependency on cosmwasm-vm.

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

Fields of InvalidRequest

error: Stringrequest: Binary
InvalidResponse

Fields of InvalidResponse

error: Stringresponse: Binary
NoSuchContract

Fields of NoSuchContract

addr: HumanAddr
Unknown

Fields of Unknown

UnsupportedRequest

Fields of UnsupportedRequest

kind: String

Trait Implementations

impl Clone for SystemError[src]

impl Debug for SystemError[src]

impl<'de> Deserialize<'de> for SystemError[src]

impl Display for SystemError[src]

impl Error for SystemError[src]

impl JsonSchema for SystemError[src]

impl PartialEq<SystemError> for SystemError[src]

impl Serialize for SystemError[src]

impl StructuralPartialEq for SystemError[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> AsErrorSource for T where
    T: 'static + Error
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> DeserializeOwned for T where
    T: for<'de> Deserialize<'de>, 
[src]

impl<T> From<T> for T[src]

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

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

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.