PL/MX exception conditions
The following table lists the possible exceptions that can occur while executing a PL/MX routine. Exception handling is not yet supported so the occurrence of any of these exceptions results in terminating the execution when an exception is encountered.
Number | Name | Meaning |
1 | Arithmetic Overflow | Arithmetic overflow occurred during an operation or an attempt was made to store a value that exceeded the range of a particular datatype. |
2 | Invalid Opcode | An invalid instruction was encountered during execution. This is an internal error. |
3 | Divide by zero | An attempt was made to use a zero divisor in an operation that performs division. |
4 | Invalid Code Address | An attempt was made to access code or read-only data that was beyond the bounds the code memory. |
5 | Invalid Byte Address | An attempt was made to access a byte using a byte address that was beyond the bounds of dynamic memory. |
6 | Invalid Word Address | An attempt was made to access a word using a word address that was beyond the bounds of dynamic memory. |
7 | Stack Overflow | An attempt was made to push a value onto the execution stack that would be above the top-of-stack limit. |
8 | Stack Underflow | An attempt was made to pop a value from the execution stack that would be below the bottom-of-stack limit. |
9 | Missing Return | Execution passed the last statement in a function without encountering a return. |
10 | Null Assignment | An attempt was made to assign NULL to a NOT NULL variable. |
11 | Null Operand | An attempt was made to use an operand that was NULL when a NULL operand was not allowed. |
12 | Invalid Operand | An attempt was made to execute an instruction in which one of the supplied operands was invalid. |
13 | Instruction Limit | The limit for instructions executed was reached. |