Two types of message can be encountered during run-time: warning messages and fatal messages. Warning messages indicate that illegal conditions have been smoothed over (by making an appropriate assumption), and do not result in program termination. Fatal error messages result in program termination and deposit the user in the mvBASIC Debugger.
When an error occurs, the error number is printed followed by the error message. For example:
[B27] LINE 87 RETURN EXECUTED WITH NO GOSUB |
Error number B27 was detected on line 87 of the program. The error message is taken from the system ERRMSG file.
See the Guide to mvBase Files and Accounts for more information about the ERRMSG file.
NOTE |
Run-Time errors can be logged to the file RUNTIME-ERRORS by setting the System Switch SET-RUNTIME-ERROR-LOGGING. See Error Recovery and Troubleshooting in the mvBase Operations and Administration Guide. |
Error # |
Error Message |
Cause |
B9 |
WRITE, DELETE OR CLEARFILE OPERATION ATTEMPTED ON READ ONLY FILE. |
An unassigned variable was referenced. A value of 0 is assumed. |
B10 |
VARIABLE HAS NOT BEEN ASSIGNED A VALUE; ZERO USED |
An unassigned variable was referenced. A value of 0 is assumed. |
B13 |
NULL CONVERSION CODE IS ILLEGAL; NO CONVERSION DONE! |
A conversion was attempted with ICONV or OCONV with no conversion code. |
B16 |
NON-NUMERIC DATA WHEN NUMERIC REQUIRED; ZERO USED |
A string variable was encountered when a number was required. A value of 0 is assumed. |
B19 |
ILLEGAL PATTERN |
Illegal pattern used with MATCH of MATCHES operator. |
B20 |
COL1 OR COL2 USED PRIOR TO EXECUTING FIELD STMT; ZERO USED! |
COL1 or COL2 function used before FIELD function used. A value of 0 is assumed. |
B21 |
MATREAD: NUMBER OF ATTRIBUTES EXCEEDS VECTOR SIZE |
The number of attributes in the item exceeds the dimensioned size of the array; the remaining attributes are placed as a dynamic array in the last element of the array. |
B22 |
BRANCH INDEX OF A IS ILLEGAL; BRANCH TAKEN TO FIRST STATEMENT-LABEL! |
|
B23 |
BRANCH INDEX OF A EXCEEDS NUMBER OF STATEMENT-LABELS; BRANCH TAKEN TO LAST STATEMENT-LABEL! |
|
B24 |
DIVIDE BY ZERO ILLEGAL; ZERO USED! |
Division by zero attempted. The operation will return 0 (not infinity). |
B26 |
UNLOCK C ATTEMPTED BEFORE LOCK |
An attempt was made to unlock a lock which the program did not lock. |
B203 |
ITEM NAME? |
|
B209 |
FILE IS UPDATE PROTECTED |
|
B210 |
FILE IS ACCESS PROTECTED |
|
Error # |
Error Message |
Cause |
B1 |
RUN-TIME ABORT AT LINE n |
The program is aborted. The debugger is not invoked. |
B12 |
FILE HAS NOT BEEN OPENED |
File indicated in I/O statement has not been previously opened via an OPEN statement. |
B14 |
BAD STACK DESCRIPTOR |
Either the length of the input-lists or output-lists in the CALL and SUBROUTINE statements are different; an attempt is made to execute an external subroutine as a main program; a file variable is used as an operand; or a variable has been assigned a value with a precision greater than program allows. |
B15 |
ILLEGAL OPCODE: "C" |
Object code for item indicated by RUN verb contains garbage or external subroutine without SUBROUTINE statement. |
B17 |
ARRAY SUBSCRIPT OUT-OF-RANGE |
Array subscript is less than or equal to zero or exceeds the dimensions indicated by a DIM statement. |
B18 |
ATTRIBUTE NUMBER LESS THAN -1 IS ILLEGAL |
An attribute number less than -1 was specified in a READV or WRITEV statement. |
B25 |
PROGRAM 'PROG' HAS NOT BEEN CATALOGUED |
The specified external subroutine must be compiled and catalogued before referenced in a CALL statement. |
B27 |
RETURN EXECU |
An external call cannot be made unless the calling program is also catalogued. |
B29 |
CALLING PROGRAM MUST BE CATALOGUED |
An external call cannot be made unless the calling program is also catalogued. |
B30 |
ARRAY SIZE MISMATCH |
Array sizes in MAT Copy statement, or in CALL and SUBROUTINE statements, do not match. |
B31 |
STACK OVERFLOW |
The program has attempted to call too many nested subroutines. |
B32 |
AGE HEADING EXCEEDS MAXIMUM OF 1400 CHARACTERS |
Page heading is too long. |
B33 |
PRECISION DECLARED IN SUBPROGRAM 'C' IS DIFFERENT FROM THAT DECLARED |
Precision must be same between calling program subroutines. |
B34 |
FILE VARIABLE USED WHERE STRING EXPRESSION EXPECTED |
|
B35 |
'M/DICT' INVALID OBJECT OF 'CLEARFILE'; IGNORED! |
|
B36 |
SYSTEM DICT ILLEGAL OBJECT OF 'CLEARFILE'; ABORT! |
|
B37 |
EXCESSIVE NUMBER OF PARAMETERS PASSED TO EXTERNAL SUBROUTINE; ABORT! |
|
B41 |
LOCK NUMBER IS GREATER THAN 255 |
Maximum number of locks available is 255. |
B50 |
FUNCTION WITH ARGUMENT VALUE <=0 UNDEFINED; ZERO RETURNED! |
|
B51 |
NEGATIVE VALUE RAISED TO NON-INTEGER VALUE; ZERO RETURNED! |
|
B52 |
STRING LENGTH GREATER THAN 16MB |
|
B55 |
MATREAD/WRITE OPERATION MUST BE TO/FROM A VECTOR |
|
B60 |
PROCWRITE ATTEMPTED OUTSIDE OF PROC MODE |
|
B201 |
FILE IS NOT A FILE NAME |
|
B202 |
ITEM NOT ON FILE |
|
See Also