Microsoft Quick BASIC出错信息(V4.5)
/
--------------------------------------------------------------------------------
●引导态错 ●连接态错
●编译态错 ●运行态错
每一种类型的错误都与程序发展过程中的特殊步骤有关,当使用QB或BC 命令引导入QuickBASIC时可能发生引导错。编译过程中可能发生编译错(及警告)。当程序运行时可能发生运行态错。只有当使用链接命令来链接用BC或其他语言编译器产生的目标文件时才可能发生链接错。
1.2节按字母顺序列出了引导态,编译及运行态出错信息以及所有的规定的出错代码。表1.1按数字顺序列出了运行态出错报文及出错代码。1.3节列出Microsoft Overlay Linker出错信息, 而1.4节列出了Microsoft Library Manager出错信息。
1.1 出错信息显示
在环境中当运行态错误发生时(使用缺省屏幕显示),错误信息出现在会话框中,光标放置在错误发生的行中。
在独立的可执行的程序中( 即在系统提示符下通过输入可执行文件的基本名就能够执行的程序),运行态系统打印出带有地址的出错信息,除非在BC命令行中指定了/D,/E,或/W选项。在这些情况下,出错范围后面跟有错误发生的行号。这类出错信息的标准形式如下:
Error n in module module-name at address segment
ffset或Error n in line linenumber of module module-name at address segment
ffset某些错误已列入错误代码清单,如果错误发生当进入错误捕获子程序时ERR的返回值设立相应的代码(用ON ERROR语句可以进入错误捕获子程序)ERR值保持不变,直到RESU
ME语句返回到对主程序的控制。
表1.1 运行态错误代码
Deseription Code Deseription
2 syntax error 53 File not found
3 RETURN without GOSUB 54 Bad file mode
4 Out of DATA 55 File already open
5 Illegal function call 56 FIELD statement active
6 Overflow 57 Device I/O error
7 Out of memory 58 File already exists
9 Subscript out of rang 59 Bad record length
10 Duplicate definition 61 Disk full
11 Division by zero 62 Input past end of file
13 Type mismatch 63 Bad record number
14 Out of string space 64 Bad file name
16 String formula too complex 67 Too many files
19 No RESUME 68 Device unavailable
20 RESUME without error 69 Communication-buffer overflow
24 Device timeout 70 Permission denied
25 Device fault 71 Disk not ready
27 Out of paper 72 Disk-media error
39 CASE ELSE expected 73 Advanced feature unavailable
40 Variable requirted 74 Rename across disks
50 FIELD overflow 75 Path/File access error
51 Internal error 76 Path not found
52 Bad file name or number
(表1.1列出了按数字顺序的错误代码,有关错误的解释请参阅按字母顺序的列表。)
1.2 调用、编译态、运行态出错信息
Argument-count mismatch
在QuickBASIC中使用了其他BASIC版本应用的某种功能,或者这种功能只能在DOS高版本下运行。(编译或运行态错)出错代码:73
Advanced feature unavailable
BASIC子程序或函数中使用的参数个数不正确。(编译态错)
Array already dimensioned
出错可能由下列原因引起:
●使用多个DIM语句定义相同的静态数组。
●数组初始代后使用DIM语句,动态数组使用DIM重新定义前,必须使用ERASE 语句重新分配内存单元;或用REDIM语句重新定义。
●数组被定义后,出现OPTION BASE语句(编译态或运行态错)
Array not defined
使用一个未经定义的数组。(编译态错)
Array not dimensioned
使用一个未经定义的数组。如果使用BC编译,这个错误不“致命”,程序将被执行, 但结果可能不正确。(编译态错)
Array too big
没有足够的用户数据空间装入所定义的数组,请缩减数组大小或使用$DYNAMIC 元命令。假如数组空间超过64K,或数组不是动态的,并且/AH选择项没有被使用, 仍然会出现这个错误。请减小数组空间,或者使用/AH命令行选择项。使数组成为动态数组。(编译态错)
AS clause required
用AS语句定义的变量没有参数。如果变量的首次定义中具有AS子句, 与该变量有关的一系列语句如DIM,REDIM,SHARED,以及COMMON语句中必须具有AS子句。(编译态错)
AS clause required on first declaration
未曾使用AS子句定义的变量使用AS子句作为参量。(编译态错)
AS missing
编译程序需要关键字AS,如在OPEN“FILENAME”FOR INPUT AS#1语句中。(编译态错)
Asterisk missing
在用户类型的字符串定义中缺少星号(*)。(编译态错)
Bad file mode
出错原因如下:
●程序对顺序文件使用PUT或GET语句,或者对非I,O,或R 文件模式使用OPEN语句。
●对不是以随机存取方式打开的文件使用FIELD语句。
●对以输入形式打开的文件进行输出操作。
●对以输出或拼接形式打开的文件进行输入操作。
●QuickBASIC试图使用以压缩的格式存贮的包含文件,包含文件必须以文本格式存贮,重新装入包含文件,以文本格式存贮,然后再运行该程序。
●试图装入一个错误的二进制程序。(运行态错)
出错代码:54
Bad file name
使用LOAD.SAVE.KILL或OPEN语句时,文件名非法(如:文件名字符太多)。(运行态错)
出错代码:64
Bad file name or number
语句或命令中使用的文件名或数字未经OPEN语句说明, 或者超出了程序中说明的文件数目。(运行态错)
出错代码:52
Bad record length
GET或PUT语句中所说明的记录变量的长度与相应的OPEN语句中所说明的记录长度不匹配。(运行态错)
出错代码:59
Bad record number
在PUT或GET语句中,记录的个数小于等于零。(运行态错)
出错代码:63
BASE missing
Quick BASIC版本需要在此处出现关键字BASE,例如在OPTION BASE中。(编译态错)
Binary source file
被编译的文件不是一个ASCII文件,所有以BASIC存贮的源文件必须用A选择项。在二进制源文件中,如果用户使用/Z1或/ZD CodeView选择项,QuickBASIC 也使用本出错信息提示。(编译态错)
Block IF without END IF
在IF结构块中,没有相应的ENDIF语句。(编译态错)
Buffer size expected after /C:
/C选择项后必须定义缓冲区大小。(BC引导错)
BYVAL allowed only with numeric arguments
BYVAL不接收字符串或记录参数。(编译态错)
/C:buffer size too large
通讯缓冲区的最大容量是32,767个字节。(BC引导错)
Cannot continue
调试过程中,用户的更改妨碍了连续执行。(运行态错)
Cannot find file (filename),Input path;
QuickBASIC找不到程序所需要的Quick library or utility (BC.EXE,LINK.EXE,L
IB.EXE,or QB.EXE)时,将出现此条出错报文,请输入正确的路径名,或按下CTRL+C键,返回DOS提示符。(QB引导错)
Cannot generate listing for BASIC binary source files
试图用BC命令与/A选择项编译一个二进制源文件,请去掉/A选择项,再重新编译。(BC引导错)
Cannot start with‘FN'
使用“FN”做为子程序或变量名的头两个字母,只有当调DEFFN函数时,“FN ”才能用作头两个字母。(编译态错)
CASE ELSE expected
在SELECT CASE语句中,没有匹配的情况。(运行态错)
出错代码:39
CASE without SELECT
SELECT CASE语句的前半部分丢失或拼写错误。(编译态错)
Colon expected after /C
在选择项与缓冲区大小的参数之间需要一个冒号“:”。(BC引导错)
Comma missing
需要逗号“,”。(编译态错)
COMMON and DECLARE must precede executable statements
COMMON语句或DECLARE语句位置出错。COMMON和DECLARE语句必须放在所有可执行语
句之前。除以下几个语句外,所有BASIC语句都是可执行的。
▲COMMON
▲DEFtype
▲DIM(应用于静态变量)
▲OPTION BASE
▲REM
▲TYPE
▲所有元命令
(编译态错)
COMMON in Quick library too small
模块中的公共变量比当前装入Quick library中的公共变量多。(编译态错)
COMMON name illegal
在名字叫COMMON的块中,QuickBASIC遇到非法块名/blocknamel(例如块名是一个BASIC保留字),(编译态错)
Communication-buffer overflow
在远程通讯中,接收缓冲区溢出,在OPEN COM语句中/C选项或RB选项定义接收缓冲区的大小。应该经常查看该缓冲区空间或者经常给缓冲区置空(使用INPUT函数)(运行态错)
出错代码:69
CONST/DIM SHARED follows SUB/FUNCTION
CONST与DIM SHARED语句应该出现在所有子程序或FUNCTION过程定义之前。如果用BC类编译此程序,这个错误不是致命的,程序将会执行,但运行结果可能不正确。(编译态警告)
Controlstructure in IF...THEN...ELSE incomplete
在IF…THEN…ELSE单行语句中出现了不匹配的NEXT,WEND,ENDIF,END SELECT,或LOOP语句。(编译态错)
Data-memory overflow
内存中的程序数据太多,这个错误是由常量或静态数组数据太多造成的。如果用BC编译,或生成EXE文件或生成Librory命令,应关闭所有的调试选项. 如果内存仍然不够,请将用户程序分成几个部分,并使用CHAIN语句或使用DYNAMIC元命令.(C编译态错)
DECLARE required
在隐含调用SUB或FUNCTION过程之前,没有定义该过程.在隐含调用之前,所有过程都必须定义或说明.(编译态错)
DEF FN not allowed in control statements
在控制结构内部如IF...THEN...ELSE与 SELECT CASE中不允许定义DEF FN函数.(编译态错)
DEF without END DEF
在多行函数的定义中没有相应的END DEF语句.(编译态错)
DEF type character specification illegal
DEF type语句输入错,DEF后面只能跟LNG,DBL,INT,SNG,STR或者空格(对于用户定义
函数).(编译态错)
Device fault
驱动器返回硬件出错.如果数据传送给通讯文件时出现此报文,说明用OPEN COM语句测试的信号在这段时间内未被发现.(运行态错)
出错代码:25
Device I/O error
在驱动器进行I/O操作时出现I/O错误操作系统不能从错误状态恢复.(运行态错)
出错代码:57
Device timeout
在预定的时间内,程序没有从驱动器接到信息.(运行错)
出错代码:24
Device unavailable
需要进入的设备没有联机或者不存在.(运行态错)
出错代码:68
Disk full
没有足够的磁盘空间来完成PRINT,WRITE或CLOSE操作时,Quick BASIC向外设写目标文件或可执行文件时,如果磁盘空间不够也产生这个出错报文.(运行态错)
出错代码:61
Disk-media error
磁盘驱动器硬件在磁盘上查出了物理损伤(运行态错)
出错代码:72
Disk not ready
驱动器的门未关闭,或驱动器上无磁盘,(运行态错)
出错代码:71
Division by zero
表达式中除数为零,或指数运算结果为零的负数次幂.
DO without LOOP
DO...LOOP语句中丢失LOOP终止子句.(编译态错)
Document too large
文卷超出Quick BASIC的内部限制.应将此文卷划分成几个文件.
Duplicate definition
对已被定义过的项使用定义语句,例如,在LONST 语句和变量定义语句中使用相同的名字,或者过程与变量同名.
试图重复定义数组时,也会出现此错,重新定义动态数组时,必须使用DIM或REDIM(编译态错,或运行态错)
出错代码:10
Duplicate label
程序中的两行共用一个数字或标记,在一个模块中,所有行号或标记都必须是唯一的.
(编译态错)
Dynamic array element illegal
在VARPTR中不允许使用动态数组元素.(编译态错)
Element not defined
没有定义用户定义类型的元素,例如,用户定义类型MYTYPE包含元素A、B和C,而在使用时出现变量D做为MY TYPE中的一个元素,就会导致此种错误.(编译态错)
ELSE without IF
使用ELSE子句但没有相应的IF语句,有时此种错误是由不正确的IF语句嵌套造成的.
(编译态错)
ELSEIF without IF
使用ELSE IF语句但没有与之相应的IF语名.(编译态错)
END DEF without DEF
使用ELSE DEF语句,但没有相应的DEF语句.(编译态错)
END IF without block IF
IF程序块的开始部分丢失.(编译态错)
END SELECT without SELECT
只有SELECT CASE结束语句,没有SELECT CASE开始句.SELECT CASE开始句可能丢掉(编译态错)
END SUB or END FUNCTION must be last line in window
在一个过程之后加一个代码,此处必须返回主模块或打开另一个模块.(编译态错)
END SUB/FUNCTION withcut SUB/FUNCTION
用户删除了SUB或FUCTION语句.(编译态错)
END TYPE without TYPE
END TYPE语句,丢失TYPE.(编译态错)
Equal sign missing
Quick BASIC需要一个等号.(编译态错)
Error during Quick BASIC initialization
产生这个错误有许多原因,最常见的原因是没有足够的内存空间装入Quick BASIC.如果装入Quick库,应该减少此库占的空间.
在不支持Quick BASIC的硬件上使用它,也会出现此错误.(QB引导错)
Error in loading file (filename)-Cannot find file
从一个文件改向输入到Quick BASIC时,会产生此种错误.该输入文件不在命令行指定的位置。(QB引导错)
Error in loading file (filename)-Disk I/O error这个错误由磁盘存取时发生的物理问题引起,例如驱动器的门未关闭.(QB引导错)
Error in loading file (filename)-DOS memory-aera error
将汇编语言的程序或POKE语句写入了DOS使用的内存区。(QB引导错)
Error in loading file(filename)-Invalid format
以非法格式装入Quick BASIC库,当使用不同版本Quick BASIC建立的库时,或者使用未经Quick BASIC的建库命令或LINK处理的/QU选项时,或者用Quick BASIC装入独立的库时,将会产生此种错误.(QB引导错)
Error in loading file(filename)-Out of memory
所需的内存空间大于可使用的空间.例如:无足够大的空间分配文件缓冲区.试将DOS缓冲区减小,释放已终止并滞留在内存的程序,或者清除某些设备驱动器. 如果数组很大,请在程序的开始使用元命令$DYNAMIC.如果已装入文卷, 则清除这些文卷可以释放一些内存.(运行态错)
EXIT DO not within DO...LOOP
在DO...LOOP语句之外使用了EXIT DO语句.(编译态错)
EXIT not within FOR...NEXT
在FOR...NEXT语句之外使用EXIT FOR语句.(编译态错)
Expected:item
这是一个句法错.光标出现在不该出现的项上.
Expression too complex
超越了一定的内部限制时,将产生这个错误,例如,在表达式evaluation期间,把与变量无关的字符串暂时赋给变量.大量的这种串的出现会产生此种错误.请简化表达式. 重新指定存放表达式的变量.(编译态错)
Extra file name ignored
命令行中说明的文件太多;该行最后的文件将丢失.(BC引导错)
Far heap corrupt
far-heap存贮在如下情况出错:
●QB编译程序不支持DOS中已终止并遗留在内存的程序.
●POKE语句修改了Quick BASIC使用的内存区.( 这样可能修改对数字或定长字符串的动态数组的定义)
●程序调用了其他语言的子程序,而这个子程序修改了Quick BASIC使用的存贮区.
(这可能修改对数字或定长字符串的动态数组的定义)
●(编译态错)
FIELD overflow
FIELD语句分配的字节大于随机文件中所说明的记录长度.
(运行态错)
出错代码:50
FIELD statement active
文件GET或PUT语句中使用的记录变量的空间已被FIELD语句占用,带有记录变量参数的GET或PUT语句仅仅应用于没有FIELD语句的文件中.(运行态错)
出错代码:56
File already exists
NAME语句定义的文件名已经以文件名的形式在磁盘上使用.(运行态错)
出错代码:58
File already open
从顺序输出方式的OPEN语句要打开一个已经打开的文件,或者用UNK语句对已经打开的文件进行操作.
(运行态错)
出错代码:55
File not found
用FILES,KILL,NAME,OPEN或RUN语句对一个不存在的文件进行操作.
(运行态错)
出错代码:53
File not found in module module-name at address segment
ffset
FILE,KILL,NAME,OPEN或RUN语句中的文件不存在,这个出错报文等价于File not found报文。但是,此错误是在执行编译程序时产生的。模块名是正在调用的模块的名字.地址是存取错误代码的地址.(运行态错)
出错代码:53
File previously loaded
试图装入一个内存中已存在的文件.(编译态错)
Fixed-length string illegal
试图用一个定长字符串作为标准参数.(编译态错)
FOR index variable already in use
在嵌套的FOR循环中多次使用下标变量将会产生此种错误.(编译态错)
FOR index variable illegal
在FOR循环下标中使用错误的变量类型,将会产生此种错误.FOR循款下标变量必须是
简单的数字变量.(编译态错)
FOR without NEXT
每一个FOR语句必须配有一个NEXT语句.(编译态错)
Formal parameter specification illegal
函数或子程序的参数表中有错.(编译态错)
Formal parameters not unique
函数或子程序所说明的参数重复出现,如:SUB Get Name(A,B,C,A) STATIC.( 编译态错)
/
--------------------------------------------------------------------------------
●引导态错 ●连接态错
●编译态错 ●运行态错
每一种类型的错误都与程序发展过程中的特殊步骤有关,当使用QB或BC 命令引导入QuickBASIC时可能发生引导错。编译过程中可能发生编译错(及警告)。当程序运行时可能发生运行态错。只有当使用链接命令来链接用BC或其他语言编译器产生的目标文件时才可能发生链接错。
1.2节按字母顺序列出了引导态,编译及运行态出错信息以及所有的规定的出错代码。表1.1按数字顺序列出了运行态出错报文及出错代码。1.3节列出Microsoft Overlay Linker出错信息, 而1.4节列出了Microsoft Library Manager出错信息。
1.1 出错信息显示
在环境中当运行态错误发生时(使用缺省屏幕显示),错误信息出现在会话框中,光标放置在错误发生的行中。
在独立的可执行的程序中( 即在系统提示符下通过输入可执行文件的基本名就能够执行的程序),运行态系统打印出带有地址的出错信息,除非在BC命令行中指定了/D,/E,或/W选项。在这些情况下,出错范围后面跟有错误发生的行号。这类出错信息的标准形式如下:
Error n in module module-name at address segment
ffset或Error n in line linenumber of module module-name at address segment
ffset某些错误已列入错误代码清单,如果错误发生当进入错误捕获子程序时ERR的返回值设立相应的代码(用ON ERROR语句可以进入错误捕获子程序)ERR值保持不变,直到RESUME语句返回到对主程序的控制。
表1.1 运行态错误代码
Deseription Code Deseription
2 syntax error 53 File not found
3 RETURN without GOSUB 54 Bad file mode
4 Out of DATA 55 File already open
5 Illegal function call 56 FIELD statement active
6 Overflow 57 Device I/O error
7 Out of memory 58 File already exists
9 Subscript out of rang 59 Bad record length
10 Duplicate definition 61 Disk full
11 Division by zero 62 Input past end of file
13 Type mismatch 63 Bad record number
14 Out of string space 64 Bad file name
16 String formula too complex 67 Too many files
19 No RESUME 68 Device unavailable
20 RESUME without error 69 Communication-buffer overflow
24 Device timeout 70 Permission denied
25 Device fault 71 Disk not ready
27 Out of paper 72 Disk-media error
39 CASE ELSE expected 73 Advanced feature unavailable
40 Variable requirted 74 Rename across disks
50 FIELD overflow 75 Path/File access error
51 Internal error 76 Path not found
52 Bad file name or number
(表1.1列出了按数字顺序的错误代码,有关错误的解释请参阅按字母顺序的列表。)
1.2 调用、编译态、运行态出错信息
Argument-count mismatch
在QuickBASIC中使用了其他BASIC版本应用的某种功能,或者这种功能只能在DOS高版本下运行。(编译或运行态错)出错代码:73
Advanced feature unavailable
BASIC子程序或函数中使用的参数个数不正确。(编译态错)
Array already dimensioned
出错可能由下列原因引起:
●使用多个DIM语句定义相同的静态数组。
●数组初始代后使用DIM语句,动态数组使用DIM重新定义前,必须使用ERASE 语句重新分配内存单元;或用REDIM语句重新定义。
●数组被定义后,出现OPTION BASE语句(编译态或运行态错)
Array not defined
使用一个未经定义的数组。(编译态错)
Array not dimensioned
使用一个未经定义的数组。如果使用BC编译,这个错误不“致命”,程序将被执行, 但结果可能不正确。(编译态错)
Array too big
没有足够的用户数据空间装入所定义的数组,请缩减数组大小或使用$DYNAMIC 元命令。假如数组空间超过64K,或数组不是动态的,并且/AH选择项没有被使用, 仍然会出现这个错误。请减小数组空间,或者使用/AH命令行选择项。使数组成为动态数组。(编译态错)
AS clause required
用AS语句定义的变量没有参数。如果变量的首次定义中具有AS子句, 与该变量有关的一系列语句如DIM,REDIM,SHARED,以及COMMON语句中必须具有AS子句。(编译态错)
AS clause required on first declaration
未曾使用AS子句定义的变量使用AS子句作为参量。(编译态错)
AS missing
编译程序需要关键字AS,如在OPEN“FILENAME”FOR INPUT AS#1语句中。(编译态错)
Asterisk missing
在用户类型的字符串定义中缺少星号(*)。(编译态错)
Bad file mode
出错原因如下:
●程序对顺序文件使用PUT或GET语句,或者对非I,O,或R 文件模式使用OPEN语句。
●对不是以随机存取方式打开的文件使用FIELD语句。
●对以输入形式打开的文件进行输出操作。
●对以输出或拼接形式打开的文件进行输入操作。
●QuickBASIC试图使用以压缩的格式存贮的包含文件,包含文件必须以文本格式存贮,重新装入包含文件,以文本格式存贮,然后再运行该程序。
●试图装入一个错误的二进制程序。(运行态错)
出错代码:54
Bad file name
使用LOAD.SAVE.KILL或OPEN语句时,文件名非法(如:文件名字符太多)。(运行态错)
出错代码:64
Bad file name or number
语句或命令中使用的文件名或数字未经OPEN语句说明, 或者超出了程序中说明的文件数目。(运行态错)
出错代码:52
Bad record length
GET或PUT语句中所说明的记录变量的长度与相应的OPEN语句中所说明的记录长度不匹配。(运行态错)
出错代码:59
Bad record number
在PUT或GET语句中,记录的个数小于等于零。(运行态错)
出错代码:63
BASE missing
Quick BASIC版本需要在此处出现关键字BASE,例如在OPTION BASE中。(编译态错)
Binary source file
被编译的文件不是一个ASCII文件,所有以BASIC存贮的源文件必须用A选择项。在二进制源文件中,如果用户使用/Z1或/ZD CodeView选择项,QuickBASIC 也使用本出错信息提示。(编译态错)
Block IF without END IF
在IF结构块中,没有相应的ENDIF语句。(编译态错)
Buffer size expected after /C:
/C选择项后必须定义缓冲区大小。(BC引导错)
BYVAL allowed only with numeric arguments
BYVAL不接收字符串或记录参数。(编译态错)
/C:buffer size too large
通讯缓冲区的最大容量是32,767个字节。(BC引导错)
Cannot continue
调试过程中,用户的更改妨碍了连续执行。(运行态错)
Cannot find file (filename),Input path;
QuickBASIC找不到程序所需要的Quick library or utility (BC.EXE,LINK.EXE,L
IB.EXE,or QB.EXE)时,将出现此条出错报文,请输入正确的路径名,或按下CTRL+C键,返回DOS提示符。(QB引导错)
Cannot generate listing for BASIC binary source files
试图用BC命令与/A选择项编译一个二进制源文件,请去掉/A选择项,再重新编译。(BC引导错)
Cannot start with‘FN'
使用“FN”做为子程序或变量名的头两个字母,只有当调DEFFN函数时,“FN ”才能用作头两个字母。(编译态错)
CASE ELSE expected
在SELECT CASE语句中,没有匹配的情况。(运行态错)
出错代码:39
CASE without SELECT
SELECT CASE语句的前半部分丢失或拼写错误。(编译态错)
Colon expected after /C
在选择项与缓冲区大小的参数之间需要一个冒号“:”。(BC引导错)
Comma missing
需要逗号“,”。(编译态错)
COMMON and DECLARE must precede executable statements
COMMON语句或DECLARE语句位置出错。COMMON和DECLARE语句必须放在所有可执行语
句之前。除以下几个语句外,所有BASIC语句都是可执行的。
▲COMMON
▲DEFtype
▲DIM(应用于静态变量)
▲OPTION BASE
▲REM
▲TYPE
▲所有元命令
(编译态错)
COMMON in Quick library too small
模块中的公共变量比当前装入Quick library中的公共变量多。(编译态错)
COMMON name illegal
在名字叫COMMON的块中,QuickBASIC遇到非法块名/blocknamel(例如块名是一个BASIC保留字),(编译态错)
Communication-buffer overflow
在远程通讯中,接收缓冲区溢出,在OPEN COM语句中/C选项或RB选项定义接收缓冲区的大小。应该经常查看该缓冲区空间或者经常给缓冲区置空(使用INPUT函数)(运行态错)
出错代码:69
CONST/DIM SHARED follows SUB/FUNCTION
CONST与DIM SHARED语句应该出现在所有子程序或FUNCTION过程定义之前。如果用BC类编译此程序,这个错误不是致命的,程序将会执行,但运行结果可能不正确。(编译态警告)
Controlstructure in IF...THEN...ELSE incomplete
在IF…THEN…ELSE单行语句中出现了不匹配的NEXT,WEND,ENDIF,END SELECT,或LOOP语句。(编译态错)
Data-memory overflow
内存中的程序数据太多,这个错误是由常量或静态数组数据太多造成的。如果用BC编译,或生成EXE文件或生成Librory命令,应关闭所有的调试选项. 如果内存仍然不够,请将用户程序分成几个部分,并使用CHAIN语句或使用DYNAMIC元命令.(C编译态错)
DECLARE required
在隐含调用SUB或FUNCTION过程之前,没有定义该过程.在隐含调用之前,所有过程都必须定义或说明.(编译态错)
DEF FN not allowed in control statements
在控制结构内部如IF...THEN...ELSE与 SELECT CASE中不允许定义DEF FN函数.(编译态错)
DEF without END DEF
在多行函数的定义中没有相应的END DEF语句.(编译态错)
DEF type character specification illegal
DEF type语句输入错,DEF后面只能跟LNG,DBL,INT,SNG,STR或者空格(对于用户定义
函数).(编译态错)
Device fault
驱动器返回硬件出错.如果数据传送给通讯文件时出现此报文,说明用OPEN COM语句测试的信号在这段时间内未被发现.(运行态错)
出错代码:25
Device I/O error
在驱动器进行I/O操作时出现I/O错误操作系统不能从错误状态恢复.(运行态错)
出错代码:57
Device timeout
在预定的时间内,程序没有从驱动器接到信息.(运行错)
出错代码:24
Device unavailable
需要进入的设备没有联机或者不存在.(运行态错)
出错代码:68
Disk full
没有足够的磁盘空间来完成PRINT,WRITE或CLOSE操作时,Quick BASIC向外设写目标文件或可执行文件时,如果磁盘空间不够也产生这个出错报文.(运行态错)
出错代码:61
Disk-media error
磁盘驱动器硬件在磁盘上查出了物理损伤(运行态错)
出错代码:72
Disk not ready
驱动器的门未关闭,或驱动器上无磁盘,(运行态错)
出错代码:71
Division by zero
表达式中除数为零,或指数运算结果为零的负数次幂.
DO without LOOP
DO...LOOP语句中丢失LOOP终止子句.(编译态错)
Document too large
文卷超出Quick BASIC的内部限制.应将此文卷划分成几个文件.
Duplicate definition
对已被定义过的项使用定义语句,例如,在LONST 语句和变量定义语句中使用相同的名字,或者过程与变量同名.
试图重复定义数组时,也会出现此错,重新定义动态数组时,必须使用DIM或REDIM(编译态错,或运行态错)
出错代码:10
Duplicate label
程序中的两行共用一个数字或标记,在一个模块中,所有行号或标记都必须是唯一的.
(编译态错)
Dynamic array element illegal
在VARPTR中不允许使用动态数组元素.(编译态错)
Element not defined
没有定义用户定义类型的元素,例如,用户定义类型MYTYPE包含元素A、B和C,而在使用时出现变量D做为MY TYPE中的一个元素,就会导致此种错误.(编译态错)
ELSE without IF
使用ELSE子句但没有相应的IF语句,有时此种错误是由不正确的IF语句嵌套造成的.
(编译态错)
ELSEIF without IF
使用ELSE IF语句但没有与之相应的IF语名.(编译态错)
END DEF without DEF
使用ELSE DEF语句,但没有相应的DEF语句.(编译态错)
END IF without block IF
IF程序块的开始部分丢失.(编译态错)
END SELECT without SELECT
只有SELECT CASE结束语句,没有SELECT CASE开始句.SELECT CASE开始句可能丢掉(编译态错)
END SUB or END FUNCTION must be last line in window
在一个过程之后加一个代码,此处必须返回主模块或打开另一个模块.(编译态错)
END SUB/FUNCTION withcut SUB/FUNCTION
用户删除了SUB或FUCTION语句.(编译态错)
END TYPE without TYPE
END TYPE语句,丢失TYPE.(编译态错)
Equal sign missing
Quick BASIC需要一个等号.(编译态错)
Error during Quick BASIC initialization
产生这个错误有许多原因,最常见的原因是没有足够的内存空间装入Quick BASIC.如果装入Quick库,应该减少此库占的空间.
在不支持Quick BASIC的硬件上使用它,也会出现此错误.(QB引导错)
Error in loading file (filename)-Cannot find file
从一个文件改向输入到Quick BASIC时,会产生此种错误.该输入文件不在命令行指定的位置。(QB引导错)
Error in loading file (filename)-Disk I/O error这个错误由磁盘存取时发生的物理问题引起,例如驱动器的门未关闭.(QB引导错)
Error in loading file (filename)-DOS memory-aera error
将汇编语言的程序或POKE语句写入了DOS使用的内存区。(QB引导错)
Error in loading file(filename)-Invalid format
以非法格式装入Quick BASIC库,当使用不同版本Quick BASIC建立的库时,或者使用未经Quick BASIC的建库命令或LINK处理的/QU选项时,或者用Quick BASIC装入独立的库时,将会产生此种错误.(QB引导错)
Error in loading file(filename)-Out of memory
所需的内存空间大于可使用的空间.例如:无足够大的空间分配文件缓冲区.试将DOS缓冲区减小,释放已终止并滞留在内存的程序,或者清除某些设备驱动器. 如果数组很大,请在程序的开始使用元命令$DYNAMIC.如果已装入文卷, 则清除这些文卷可以释放一些内存.(运行态错)
EXIT DO not within DO...LOOP
在DO...LOOP语句之外使用了EXIT DO语句.(编译态错)
EXIT not within FOR...NEXT
在FOR...NEXT语句之外使用EXIT FOR语句.(编译态错)
Expected:item
这是一个句法错.光标出现在不该出现的项上.
Expression too complex
超越了一定的内部限制时,将产生这个错误,例如,在表达式evaluation期间,把与变量无关的字符串暂时赋给变量.大量的这种串的出现会产生此种错误.请简化表达式. 重新指定存放表达式的变量.(编译态错)
Extra file name ignored
命令行中说明的文件太多;该行最后的文件将丢失.(BC引导错)
Far heap corrupt
far-heap存贮在如下情况出错:
●QB编译程序不支持DOS中已终止并遗留在内存的程序.
●POKE语句修改了Quick BASIC使用的内存区.( 这样可能修改对数字或定长字符串的动态数组的定义)
●程序调用了其他语言的子程序,而这个子程序修改了Quick BASIC使用的存贮区.
(这可能修改对数字或定长字符串的动态数组的定义)
●(编译态错)
FIELD overflow
FIELD语句分配的字节大于随机文件中所说明的记录长度.
(运行态错)
出错代码:50
FIELD statement active
文件GET或PUT语句中使用的记录变量的空间已被FIELD语句占用,带有记录变量参数的GET或PUT语句仅仅应用于没有FIELD语句的文件中.(运行态错)
出错代码:56
File already exists
NAME语句定义的文件名已经以文件名的形式在磁盘上使用.(运行态错)
出错代码:58
File already open
从顺序输出方式的OPEN语句要打开一个已经打开的文件,或者用UNK语句对已经打开的文件进行操作.
(运行态错)
出错代码:55
File not found
用FILES,KILL,NAME,OPEN或RUN语句对一个不存在的文件进行操作.
(运行态错)
出错代码:53
File not found in module module-name at address segment
ffsetFILE,KILL,NAME,OPEN或RUN语句中的文件不存在,这个出错报文等价于File not found报文。但是,此错误是在执行编译程序时产生的。模块名是正在调用的模块的名字.地址是存取错误代码的地址.(运行态错)
出错代码:53
File previously loaded
试图装入一个内存中已存在的文件.(编译态错)
Fixed-length string illegal
试图用一个定长字符串作为标准参数.(编译态错)
FOR index variable already in use
在嵌套的FOR循环中多次使用下标变量将会产生此种错误.(编译态错)
FOR index variable illegal
在FOR循环下标中使用错误的变量类型,将会产生此种错误.FOR循款下标变量必须是
简单的数字变量.(编译态错)
FOR without NEXT
每一个FOR语句必须配有一个NEXT语句.(编译态错)
Formal parameter specification illegal
函数或子程序的参数表中有错.(编译态错)
Formal parameters not unique
函数或子程序所说明的参数重复出现,如:SUB Get Name(A,B,C,A) STATIC.( 编译态错)
ko20010214
=================================
大功告成,打个Kiss!
ko20010214@MSN.com
神州优雅Q300C
Intel CeleronM 370处理器 | 256MbDDR内存
40G硬盘 | USB2.0 | IEEE 1394
13.3 ' WXGA 宽屏(16:10) | COMBO光驱
10/100M网卡 | 四合一读卡器
=================================
大功告成,打个Kiss!
ko20010214@MSN.com
神州优雅Q300C
Intel CeleronM 370处理器 | 256MbDDR内存
40G硬盘 | USB2.0 | IEEE 1394
13.3 ' WXGA 宽屏(16:10) | COMBO光驱
10/100M网卡 | 四合一读卡器
