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.