`prev Menu next`

EXTYPE function

EXTYPE
returns the number that means the exception type.
EXTYPE can be written only in an exception handler.
Note. EXTYPE is a reserved word.

Principal EXTYPEs

    1000 level Overflow
      1002 Overflow in a numeric expression
      1003 Overflow in a numeric supplied function
      1004 Overflow in a VAL function
      1005 Overflow in a numeric array
      1006 Overflow in a READ statement
      1008 Overflow in a file input
      1009 Overflow in a DET or DOT function
    2000 level Subscript Errors
      2001 Subscript out of bounds
    3000 level Math Errors
      3001 Division by zero
      3002 Negative to the non-integral power
      3003 Zero to the negative power
      3004 Logarithm of zero or negative
      3005 SQR of a negative number
      3006 Zero divisor in MOD or REMAINDER
      3007 Out of range in ACOS or ASIN
      3008 ANGLE(0,0)
      3009 INV of a singular matrix
    4000 level Parameter Errors
      4001 VAL of non-numeric-constant
      4002 CHR$ Out of Range
      4003 ORD Out of Range
      ････
    5000 level Array Storage Errors
    6000 level Matrix Errors
    7000 level File Usage Errors
    8000 level I/O Errors
      8001 READ out of data
      8011 End of File
      8012 Too Few Data in a record
      8013 Too Many Data in a record
      8101 Non-numeric constant on file input
      8105 Syntactically incorrect input reply from file
      8120 Type Mismatch on INTERNAL input
      8201 Incorrect Format String
      8202 No Format Item
      8401 Timeout on INPUT
    9000 level Device Errors
    10000 level Control Errors
    11000 level Graphics Errors

See also Nonfatal Errors.
Implementation defined EXTYPEs
`-3009 Invalid operation on transformation
-1005 Overflow on transformation
-103 Too Large Array
-102 Virtual Stack Overflow
-101 System Stack Overflow
-100 Out of memory for the execution
7101 Incorrect File Description
7102 File Not Exist
9003 Failed to Delete File
9004 File Already Exist
`

Propagation of Exception
If an exception is propagated out of the procedure, EXTYPE becomes the value obtained by adding 100000 to the initial extype, while if the initial extype is negative, EXTYPE becomes the value obtained by subtracting 100000 from it.
Note.
The extype before propagated can be obtained using `REMAINDER(EXTYPE,100000)`.