[][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.

Fields of InvalidRequest

error: Stringrequest: Binary

Fields of InvalidResponse

error: Stringresponse: Binary

Fields of NoSuchContract

addr: HumanAddr

Fields of Unknown


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

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

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

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

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

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

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

impl<T> ToOwned for T where
    T: Clone

type Owned = T

The resulting type after obtaining ownership.

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

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

type Error = Infallible

The type returned in the event of a conversion error.

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

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

The type returned in the event of a conversion error.