# Enum ethcore::evm::evm::Error [−] [src]

    pub enum Error {
        OutOfGas,
        BadJumpDestination {
            destination: usize,
        },
        BadInstruction {
            instruction: u8,
        },
        StackUnderflow {
            instruction: &'static str,
            wanted: usize,
            on_stack: usize,
        },
        OutOfStack {
            instruction: &'static str,
            wanted: usize,
            limit: usize,
        },
        Internal,
    }

Evm errors.

## Variants

`OutOfGas`

`OutOfGas` is returned when transaction execution runs out of gas. The state should be reverted to the state from before the transaction execution. But it does not mean that transaction was invalid. Balance still should be transfered and nonce should be increased.

`BadJumpDestination`

`BadJumpDestination` is returned when execution tried to move to position that wasn't marked with JUMPDEST instruction

### Fields

`destination: usize` | Position the code tried to jump to.

`BadInstruction`

`BadInstructions` is returned when given instruction is not supported

### Fields

`instruction: u8` | Unrecognized opcode

`StackUnderflow`

`StackUnderflow` when there is not enough stack elements to execute instruction

### Fields

`instruction: &'static str` | Invoked instruction
`wanted: usize` | How many stack elements was requested by instruction
`on_stack: usize` | How many elements were on stack

`OutOfStack`

When execution would exceed defined Stack Limit

### Fields

`instruction: &'static str` | Invoked instruction
`wanted: usize` | How many stack elements instruction wanted to push
`limit: usize` | What was the stack limit

`Internal`

Returned on evm internal error. Should never be ignored during development. Likely to cause consensus issues.

## Trait Implementations

### `impl Debug for Error`
[src]

#### `fn fmt(&self, __arg_0: &mut Formatter) -> Result`

Formats the value using the given formatter.

### `impl Clone for Error`
[src]

#### `fn clone(&self) -> Error`

Returns a copy of the value. Read more

#### `fn clone_from(&mut self, source: &Self)`
1.0.0

Performs copy-assignment from `source`. Read more

### `impl Copy for Error`
[src]

### `impl PartialEq for Error`
[src]

#### `fn eq(&self, __arg_0: &Error) -> bool`

This method tests for `self` and `other` values to be equal, and is used by `==`. Read more

#### `fn ne(&self, __arg_0: &Error) -> bool`

This method tests for `!=`.

### `impl Display for Error`
[src]

#### `fn fmt(&self, f: &mut Formatter) -> Result`

Formats the value using the given formatter.

# Help

## Keyboard Shortcuts

?
  Show this help dialog
S
  Focus the search field
⇤
  Move up in search results
⇥
  Move down in search results
⏎
  Go to active search result
+
  Collapse/expand all sections

## Search Tricks

Prefix searches with a type followed by a colon (e.g. `fn:`) to restrict the search to a given type.

Accepted types are: `fn`, `mod`, `struct`, `enum`, `trait`, `type`, `macro`, and `const`.

Search functions by type signature (e.g. `vec -> usize` or `* -> vec`)