Ethereum Virtual Machine (EVM) Exceptions
Table of Contents
Exceptions which cause the EVM to halt exceptionally.
Indicates that the EVM has experienced an exceptional halt. This causes execution to immediately end with all gas being consumed.
Raised by the REVERT opcode.
Unlike other EVM exceptions this does not result in the consumption of all gas.
Occurs when a pop is executed on an empty stack.
Occurs when a push is executed on a stack at max capacity.
Occurs when an operation costs more than the amount of gas left in the frame.
Raised when an invalid opcode is encountered.
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.
Raised when the message depth is greater than 1024
Raised when an attempt is made to modify the state while operating inside of a STATICCALL context.
Raised when an attempt was made to read data beyond the boundaries of the buffer.
Raised when invalid parameters are passed.
Raised when the new contract code starts with 0xEF.