Enum solana_program::program_error::ProgramError [−][src]
pub enum ProgramError {
Show variants
Custom(u32),
InvalidArgument,
InvalidInstructionData,
InvalidAccountData,
AccountDataTooSmall,
InsufficientFunds,
IncorrectProgramId,
MissingRequiredSignature,
AccountAlreadyInitialized,
UninitializedAccount,
NotEnoughAccountKeys,
AccountBorrowFailed,
MaxSeedLengthExceeded,
InvalidSeeds,
BorshIoError(String),
AccountNotRentExempt,
UnsupportedSysvar,
}Expand description
Reasons the program may fail
Variants
Custom(u32)Allows on-chain programs to implement program-specific error types and see them returned by the Solana runtime. A program-specific error may be any type that is represented as or serialized to a u32 integer.
BorshIoError(String)Trait Implementations
impl Clone for ProgramError[src]
impl Clone for ProgramError[src]fn clone(&self) -> ProgramError[src]
fn clone(&self) -> ProgramError[src]Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)1.0.0[src]
fn clone_from(&mut self, source: &Self)1.0.0[src]Performs copy-assignment from source. Read more
impl Debug for ProgramError[src]
impl Debug for ProgramError[src]impl<'de> Deserialize<'de> for ProgramError[src]
impl<'de> Deserialize<'de> for ProgramError[src]fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>, [src]
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>, [src]Deserialize this value from the given Serde deserializer. Read more
impl Display for ProgramError[src]
impl Display for ProgramError[src]impl Error for ProgramError[src]
impl Error for ProgramError[src]fn source(&self) -> Option<&(dyn Error + 'static)>1.30.0[src]
fn source(&self) -> Option<&(dyn Error + 'static)>1.30.0[src]The lower-level source of this error, if any. Read more
fn backtrace(&self) -> Option<&Backtrace>[src]
fn backtrace(&self) -> Option<&Backtrace>[src]backtrace)Returns a stack backtrace, if available, of where this error occurred. Read more
fn description(&self) -> &str1.0.0[src]
fn description(&self) -> &str1.0.0[src]use the Display impl or to_string()
impl From<Error> for ProgramError[src]
impl From<Error> for ProgramError[src]fn from(error: BorshIoError) -> Self[src]
fn from(error: BorshIoError) -> Self[src]Performs the conversion.
impl From<PubkeyError> for ProgramError[src]
impl From<PubkeyError> for ProgramError[src]fn from(error: PubkeyError) -> Self[src]
fn from(error: PubkeyError) -> Self[src]Performs the conversion.
impl PartialEq<ProgramError> for ProgramError[src]
impl PartialEq<ProgramError> for ProgramError[src]fn eq(&self, other: &ProgramError) -> bool[src]
fn eq(&self, other: &ProgramError) -> bool[src]This method tests for self and other values to be equal, and is used
by ==. Read more
fn ne(&self, other: &ProgramError) -> bool[src]
fn ne(&self, other: &ProgramError) -> bool[src]This method tests for !=.
impl PrintProgramError for ProgramError[src]
impl PrintProgramError for ProgramError[src]fn print<E>(&self) where
E: 'static + Error + DecodeError<E> + PrintProgramError + FromPrimitive, [src]
E: 'static + Error + DecodeError<E> + PrintProgramError + FromPrimitive,
impl Serialize for ProgramError[src]
impl Serialize for ProgramError[src]impl TryFrom<InstructionError> for ProgramError[src]
impl TryFrom<InstructionError> for ProgramError[src]type Error = InstructionError
type Error = InstructionErrorThe type returned in the event of a conversion error.
fn try_from(error: InstructionError) -> Result<Self, Self::Error>[src]
fn try_from(error: InstructionError) -> Result<Self, Self::Error>[src]Performs the conversion.
impl Eq for ProgramError[src]
impl StructuralEq for ProgramError[src]
impl StructuralPartialEq for ProgramError[src]
Auto Trait Implementations
impl RefUnwindSafe for ProgramError
impl Send for ProgramError
impl Sync for ProgramError
impl Unpin for ProgramError
impl UnwindSafe for ProgramError
Blanket Implementations
impl<T> AbiEnumVisitor for T where
T: Serialize + AbiExample + ?Sized, [src]
impl<T> AbiEnumVisitor for T where
T: Serialize + AbiExample + ?Sized, [src]pub default fn visit_for_abi(
&self,
digester: &mut AbiDigester
) -> Result<AbiDigester, DigestError>[src]
&self,
digester: &mut AbiDigester
) -> Result<AbiDigester, DigestError>
impl<T> AbiEnumVisitor for T where
T: Serialize + ?Sized, [src]
impl<T> AbiEnumVisitor for T where
T: Serialize + ?Sized, [src]pub default fn visit_for_abi(
&self,
_digester: &mut AbiDigester
) -> Result<AbiDigester, DigestError>[src]
&self,
_digester: &mut AbiDigester
) -> Result<AbiDigester, DigestError>
impl<T> AbiExample for T[src]
impl<T> AbiExample for T[src]impl<T> BorrowMut<T> for T where
T: ?Sized, [src]
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]pub fn borrow_mut(&mut self) -> &mut T[src]
pub fn borrow_mut(&mut self) -> &mut T[src]Mutably borrows from an owned value. Read more
impl<T> Same<T> for T
impl<T> Same<T> for Ttype Output = T
type Output = TShould always be Self
impl<T> ToOwned for T where
T: Clone, [src]
impl<T> ToOwned for T where
T: Clone, [src]type Owned = T
type Owned = TThe resulting type after obtaining ownership.
pub fn to_owned(&self) -> T[src]
pub fn to_owned(&self) -> T[src]Creates owned data from borrowed data, usually by cloning. Read more
pub fn clone_into(&self, target: &mut T)[src]
pub fn clone_into(&self, target: &mut T)[src]🔬 This is a nightly-only experimental API. (toowned_clone_into)
recently added
Uses borrowed data to replace owned data, usually by cloning. Read more
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>, pub fn vzip(self) -> V
impl<T> DeserializeOwned for T where
T: for<'de> Deserialize<'de>, [src]
T: for<'de> Deserialize<'de>,