[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

27 FreeM Error Codes

ZINRPT - interrupt

Raised when an interrupt signal is received.

ZBKERR - BREAK point

Raised when a BREAK point is reached.

ZNOSTAND - non standard syntax

Raised when features incompatible with the current value of $DIALECT are used.

ZUNDEF - variable not found

Raised when an undefined local or global variable is accessed. This error code has been deprecated in favor of standard error codes M6 and M7.

ZLBLUNDEF - label not found

Raised when a referenced label is not found.

ZMISSOPD - missing operand

Raised when an operand is missing from an expression.

ZMISSOP - missing operator

Raised when an operator is missing from an expression.

ZILLOP - unrecognized operator

Raised when an unrecognized operator is encountered in an expression.

ZQUOTER - unmatched quotes

Raised when unbalanced quotes are encountered.

ZCOMMAER - comma expected

Raised when a comma is expected in program syntax but is not found.

ZASSIGNER - equals ’=’ expected

Raised when an equals sign is expected in program syntax but is not found.

ZARGER - argument not permitted

Raised when an argument is encountered in a syntactic position where arguments are not permitted.

ZSPACER - blank ’ ’ expected

Raised when a space character is expected in program syntax but is not found.

ZBRAER - unmatched parentheses

Raised when unbalanced parentheses are detected in program syntax.

ZLVLERR - level error

Raised when a level error occurs.

ZDIVER - divide by zero

Raised when program code attempts to divide by zero. Deprecated in favor of standard error code M9.

ZILLFUN - function not found

Raised when program code attempts to call intrinsic or extrinsic functions that are not defined.

ZFUNARG - wrong number of function arguments

Raised when an intrinsic or extrinsic function is called with the wrong number of arguments.

ZZTERR - ZTRAP error

Raised when a $ZTRAP error occurs.

ZNEXTERR - $NEXT/$ORDER error

Raised when an error occurs in $NEXT or $ORDER.

ZSELER - $SELECT error

Raised when an error occurs in $SELECT

ZCMMND - illegal command

Raised when program code attempts to execute an illegal command.

ZARGLIST - argument list incorrect

Raised when the argument list supplied to an M language element does not match that language element’s syntactic requirements.

ZINVEXPR - invalid expression

Raised when an invalid expression is encountered.

ZINVREF - invalid reference

Raised when an invalid variable reference is encountered.

ZMXSTR - string too long

Raised when a string is encountered that exceeds ^$SYSTEM("STRING_MAX").

ZTOOPARA - too many parameters

Raised when too many parameters are passed to a function or subroutine.

ZNOPEN - unit not open

Raised when attempting to access an I/O channel that has not been opened.

ZNODEVICE - unit does not exist

Raised when attempting to access a device that does not exist.

ZPROTECT - file protection violation

Raised when attempting to access a file or device to which you do not have permission.

ZGLOBER - global not permitted

Raised when attempting to use a global in a syntactic element where global variables are not permitted.

ZFILERR - file not found

Raised when attempting to access a file that does not exist.

ZPGMOV - program overflow

Raised when a program overflows the limits of a routine buffer.

ZSTKOV - stack overflow

Raised when DO, FOR, or XECUTE nesting levels exceed the value in ^$SYSTEM("NESTLEVLS").

ZSTORE - symbol table overflow

Raised when program code attempts to store too much data in the local symbol table. Should not occur unless symbol table auto-adjust is disabled.

ZNOREAD - file won’t read

Raised when program code attempts to read from an unreadable file.

ZNOWRITE - file won’t write

Raised when program code attempts to write to an unwritable file.

ZNOPGM - routine not found

Raised when an attempt is made to load or execute a routine that does not exist in the current namespace.

ZNAKED - illegal naked reference

Raised when an attempt is made to use an illegal naked reference.

ZSBSCR - illegal subscript

Raised when an illegal subscript access is attempted.

ZISYNTX - insert syntax

Raised when illegal insert syntax is used.

ZDBDGD - database degradation

Raised when database corruption is detected.

ZKILLER - job kill signal

Raised on a job kill signal.

ZHUPER - hangup signal

Raised on a job hangup signal.

ZMXNUM - numeric overflow

Raised when an assignment or expression result exceeds $ZPRECISION.

ZNOVAL - function returns no value

Raised when a function does not return a value. Extrinsic functions must QUIT with a value.

ZTYPEMISMATCH - type mismatch

Raised when a type mismatch occurs.

ZMEMOV - out of memory

Raised when FreeM runs out of heap memory.

ZNAMERES - error in name resolution

Raised when an attempted name resolution fails.

ZSCKCREAT - error creating socket

Raised when an error occurs creating a socket for network I/O.

ZSCKIFAM - invalid address family (must be IPV4 or IPV6)

Raised when the address family specified in an OPEN command for a socket I/O channel is not IPV4 or IPV6.

ZSCKITYP - invalid connection type (must be TCP or UDP)

Raised when the connection type specified in an OPEN command for a socket I/O channel is not TCP or UDP.

ZSCKIPRT - invalid port number

Raised when the port number specified in an OPEN command for a socket I/O channel is invalid. Valid TCP and UDP ports are in the range of 1-65535.

ZSCKCERR - connection error

Raised when an error occurs on a USE <channel>:/CONNECT command.

ZSCKAERR - USE action invalid for connection type (possibly CONNECT on UDP socket?)

Raised when an attempt is made to USE <channel>:/CONNECT on a UDP socket I/O channel. The UDP protocol is connectionless.

ZSCKACON - attempted to CONNECT an already-connected socket

Raised when an attempt is made to USE <channel>:/CONNECT on a TCP socket I/O channel that is already connected.

ZSCKNCON - attempted to READ from a disconnected TCP socket

Raised when an attempt is made to READ a TCP socket that has not yet been connected.

ZSCKEOPT - error setting socket options

Raised when an error is encountered while setting socket options.

ZSCKERCV - error in READ from socket

Raised when an error occurs in a socket I/O channel READ.

ZSCKESND - error in WRITE to socket

Raised when an error occurs while attempting to WRITE to a socket I/O channel.

ZNORPI - ^$ZRPI only supported on Raspberry Pi hardware

Raised when an attempt is made to use the ^$ZRPI structured system variable on a platform other than the Raspberry Pi single-board computer.

ZCREDEF - cannot redefine CONST

Raised when attempts are made to redefine a CONST after its initial definition.

ZCMODIFY - cannot modify CONST

Raised when attempts are made to change the value of a CONST.

ZFILEXWR - cannot open existing file for WRITE

Raised when an attempt is made to open an existing file in write (but not append) mode.

INEWMULT - initializing NEW with multiple setarguments not supported

Raised when you attempt to use multiple setarguments with initializing NEW, e.g. NEW X=2,Y=3.

ZECODEINV - invalid value for $ECODE

Raised when attempts are made to set $ECODE to an invalid error code value. Obsolete and replaced by standard error code M101.

ZASSERT - programmer assertion failed

Raised when an ASSERT expression’s result is not true.

ZUSERERR - user-defined error

Raised when program code calls THROW with an error code argument for which the first character is U, or when $ECODE is set to an error code for which the first character is U.

Custom error messages for ZUSERERR may be set in ^$JOB($JOB,"USER_ERRORS",<user_error_code>), where <user_error_code> represents the custom error code.

For example:

USER> S ^$JOB($JOB,"USER_ERRORS","UBLACKHOLE")="black hole encountered"


USER> THROW UBLACKHOLE


>> Error UBLACKHOLE:  black hole encountered in SYSTEM::^%SYS.INIT  [$STACK = 0]
>> THROW UBLACKHOLE
                  ^
ZSYNTERR - syntax error

Raised when a syntax error without a more specific error code is encountered.

ZCTRLB - break

Pseudo-error used by the FreeM debugger. Not visibly raised in normal program operation.

ZASYNC - asynchronous interruption

Pseudo-error used by the FreeM asynchronous events subsystem. Not visibly raised in normal program operation.

M1 - naked indicator undefined

Raised when an attempt is made to use a naked reference before the naked indicator is set.

M2 - invalid combination with $FNUMBER code atom
M3 - $RANDOM seed less than 1
M4 - no true condition in $SELECT
M5 - line reference less than zero
M6 - undefined local variable
M7 - undefined global variable
M8 - undefined intrinsic special variable
M9 - divide by zero
M10 - invalid pattern match range
M11 - no parameters passed
M12 - invalid line reference (negative offset)
M13 - invalid line reference (line not found)
M14 - line level not 1
M15 - undefined index variable
M16 - argumented QUIT not allowed
M17 - argumented QUIT required
M18 - fixed length READ not greater than zero
M19 - cannot copy a tree or subtree onto itself
M20 - line must have a formal parameter list
M21 - algorithm specification invalid
M22 - SET or KILL to ^$GLOBAL when data in global
M23 - SET or KILL to ^$JOB for non-existent job number
M24 - change to collation algorithm while subscripted local variables defined
M26 - non-existent environment
M27 - attempt to rollback a transaction that is not restartable
M28 - mathematical function, parameter out of range
M29 - SET or KILL on structured system variable not allowed by implementation
M30 - reference to global variable with different collating sequence within a collating algorithm
M31 - control mnemonic used for device without a mnemonic space selected
M32 - control mnemonic used in user-defined mnemonic space which has no associated line
M33 - SET or KILL to ^$ROUTINE when routine exists
M35 - device does not support mnemonic space
M36 - incompatible mnemonic spaces
M37 - READ from device identified by empty string
M38 - invalid structured system variable subscript
M39 - invalid $NAME argument
M40 - call-by-reference in JOB actual parameter
M41 - invalid LOCK argument within a transaction
M42 - invalid QUIT within a transaction
M43 - invalid range value ($X, $Y
M44 - invalid command outside of a transaction
M45 - invalid GOTO reference
M56 - identifier exceeds maximum length
M57 - more than one defining occurrence of label in routine
M58 - too few formal parameters
M60 - illegal attempt to use an undefined SSVN
M101 - invalid value for $ECODE
M102 - synchronous and asynchronous event processing cannot be simultaneously enabled for the same event class
M103 - invalid event identifier
M104 - ETRIGGER event identifier for IPC event class does not match job process identifier

[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

This document was generated on September 20, 2023 using texi2html 5.0.