89 - Panic
A Panic exception is generated in the following situations. The error code supplied with the error data indicates the kind of panic:
-
0x01
: If you call assert with an argument that evaluates to false. -
0x11
: If an arithmetic operation results in underflow or overflow outside of an unchecked{ ... }
block. -
0x12
; If you divide or modulo by zero (e.g.5 / 0
or23 % 0
). -
0x21
: If you convert a value that is too big or negative into an enum type. -
0x22
: If you access a storage byte array that is incorrectly encoded. -
0x31
: If you call .pop() on an empty array. -
0x32
: If you access an array, bytesN or an array slice at an out-of-bounds or negative index (i.e.x[i]
wherei >= x.length
ori < 0
). -
0x41
: If you allocate too much memory or create an array that is too large. -
0x51
: If you call a zero-initialized variable of internal function type.
- Panic Error Codes
0x01
: False Argument0x11
: Overflow/Underflow0x12
: div/mod by 00x31
: pop() Empty Array0x32
: Out-of-bounds Array Access..and Other