Generar errores de contrato
Hay varias formas de generar errores en los contratos.
Una forma son los tipos enum de error, que son definidos por los contratos y que asignan errores a valores enteros sin signo de 32 bits. Se pueden usar como valores de error en los tipos de retorno de funciones de contrato.
información
El ejemplo de errores demuestra cómo definir tus propios tipos de error.
Enumeraciones de errores
Los errores son un tipo especial de tipo enum entero que se almacenan en el libro mayor como valores Error
que contienen un código u32
.
#[contracterror]
#[derive(Copy, Clone, Debug, Eq, PartialEq, PartialOrd, Ord)]
#[repr(u32)]
pub enum Error {
AnError = 1,
}
Cuando se convierten a XDR, el valor se convierte en un ScVal
, que contiene un ScError
, que contiene el valor entero del error como error de contrato.
{ "error": { "contractError": 1 } }