Ethereum Virtual Machine (EVM) Exceptions


Exceptions which cause the EVM to halt exceptionally.

Module Contents


Indicates that the EVM has experienced an exceptional halt. This causes execution to immediately end with all gas being consumed.

exception ExceptionalHalt

Bases: ethereum.exceptions.EthereumException


Occurs when a pop is executed on an empty stack.

exception StackUnderflowError

Bases: ExceptionalHalt


Occurs when a push is executed on a stack at max capacity.

exception StackOverflowError

Bases: ExceptionalHalt


Occurs when an operation costs more than the amount of gas left in the frame.

exception OutOfGasError

Bases: ExceptionalHalt


Raised when an invalid opcode is encountered.

exception InvalidOpcode

Bases: ExceptionalHalt


Occurs when the destination of a jump operation doesn’t meet any of the following criteria:

  • The jump destination is less than the length of the code.

  • The jump destination should have the JUMPDEST opcode (0x5B).

  • The jump destination shouldn’t be part of the data corresponding to PUSH-N opcodes.

exception InvalidJumpDestError

Bases: ExceptionalHalt


Raised when the message depth is greater than 1024

exception StackDepthLimitError

Bases: ExceptionalHalt


Raised when the new contract address has a collision.

exception AddressCollision

Bases: ExceptionalHalt