Run-time Messages

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.

Run-time Error Messages (Warning)

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

 

Run-time Error Messages (Fatal)

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

Appendix A: Error Messages

Compiler Messages

Debugger Messages

mvBASIC Tape and Floppy Disk Error Messages