Microsoft Quick BASIC出错信息(V4.5)

Author: Date: 1992-12-25

        ●引导态错       ●连接态错
        ●编译态错       ●运行态错
        每一种类型的错误都与程序发展过程中的特殊步骤有关,当使用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:offset或Error n in line linenumber of module module-name at address segment:offset某些错误已列入错误代码清单,如果错误发生当进入错误捕获子程序时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:offset
        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.( 编译态错)
        Function already defined
        重新定义已经定义过的函数.(编译态错)
        Function name illegal
        在用户定义的函数名字中,使用了BASIC的保留字.(编译态错)
        Function not defined
        使用函数之前,必须先说明或定义这个函数.(编译态错)
        GOSUB missing
        在ON event语句中丢失了GOSUB.(编译态错)
        GOTO missing
        在ON ERROR语句中丢失了GOTO.(编译态错)
        GOTO or GOSUB expected
        Quick BASIC需要GOTO或GOSUB语句.(编译态错)
        Help not found
        所请求的帮助未被发现,而且程序所包含的错误妨碍了Quick BASIC产生变量表, 请按F5返回到产生错误行.Identifier cannot end with %, &, !, # or $
        上面的后缀不允许出现在类型定义,子程序名或COMMON语句内出现的名字中.( 编译态错)
        Identifier cannot include period
        用户定义类型和记录元素的名字不能含有句号.句号只能用作记录变量的分隔符.此外,如果句号前部分的名字在程序某个地方的AS usertype子句中已经使用, 则变量名不能含有句号.如果程序在变量名中使用句号,建议将其改成混合形式.例如,变量ALPHA,BETA可以更改成ALphaBeta.(编译态错)
        Identifier expected
        试图使用identifier需要的数字或BASIC保留字.
        Identifier too long
        长度不能大于40个字符.
        Illegal function call
        超界的参数传送给到数学或字符串函数中,下列原因也会产生函数调用错误:
        ●使用负数或过大的下标.
        ●对负数进行非整数指数运算.
        ●使用GET或PUT文件时,记录数为负.
        ●赋予函数错误的或超界参数.
        ●对非磁盘驱动器进行BLOAD或BSAVE操作.
        ●在不支持I/O函数或语句的驱动器上进行该操作.(如LOC或LOF).
        ●合并字符串时产生了比32,767还要长的字符串.(运行态错)
        出错代码:5
        Illegal in direct mode
        语句只有在程序中才有效.
        而在当前窗中不能使用.(编译态错)
        Illegal number
        数据格式不正确。也许是书写错误。如数字2p3将会产生这个错误。(编译态错)
        Illegal in procedure or DEF FN
        Illegal outside of SUB, FUNCTION, or DEFFN
        该语句不允许在模块级代码中使用.(编译态错)
        Illegal outside of SUB FUNCTION
        该语句不允许在模块级代码或DEF FN函数中使用(编译态错)
        Illegal outside of TYPE block
        模块级码或DEF FN函数中不允许出现该语句(编译态错)
        element As type子句仅允许在TYPE…END TYPE中使用.(编译态错)
        Illegal type character in numeric constant
        数值类型的常数中含有不匹配的类型说明符.(编译态错)
        $INCLUDE-file access error
        在元命令中命令的包含文件不能装入.(编译态错)
        Include file too large
        包含文件超越了Quick BASIC的内部限制,需将文件分成若干部分.(编译态错)
        Input file not found
        命令行中出现的源文件不在指定位置.(BC引导错)
        INPUT missing
        编译程序缺少关键字INPUT.(编译态错)
        Input past end of file
        使用INPUT语句读一个空文件,或者文件数据已经读完.可利用EOF函数测试文件结束来避免出现此错误.(运行态错)
        出错代码:62
        Input runtime module path:
        如果运行态模块BRVN45.EXE未被发现就会出现此错误.应当输入正确的路径名.这种错误很严重,并难以捕获.(运行态错)
        Integer between 1 and 32767 required
        此语句需要整型参数.(编译态错)
        Internal error
        Quick BASIC发生了内部故障,用带有你文卷的Product Assistance Request表,向Microsoft公司说明在什么条件下出现哪些报文.(运行态错)
        出错代码:51
        Internal error near xxxx
        装入xxxx时发生了Quick BASIC的内部故障.用带有你文卷的Product Assistance R
        equest表,说明在什么条件下出现哪些报文.(编译态错)
        Invalid character
        Quick BASIC发现了无效字符.如在源文件中出现控制字符.(编译态错)
        Invalid constant
        用非法表过式指定常数值,注意,定义成常数的表达式可以包括数值型常量, 符号常量和除了指数运算以外的所有算术运算符或逻辑运算符. 定义成常量的字符串表达式仅可以包含简单的文字字符串.(编译态错)
        Invalid DECLARE for BASIC procedure
        在BASIC过程中使用DECLARE语句的关键字ALLAS,CDECL,或者是BYVAL.ALLAS,CDECL 和BYVAL仅可以在非BASIC过程中使用.(编译态错)
        Label not defined
        引用的行标记(如在GO TO语句中)在程序中不存在.(编译态错)
        Left parenthesis missing
        Quick BASIC需要左括号,或者REDIM语句给下标变量重新定义空间.(编译态错)
        Line invalid,Start again
        路径字符“\”或者“:”后使用了无效的文件名.(BC引导错)
        Line number or label missing
        在需要行号或行标志的语句中,这些符号丢失,例如:GO TO 语句.(编译态错)
        Line too long
        一行内只允许有255个字符.(编译态错)
        LOOP without DO
        引导DO...LOOP语句的DO丢失或拼写错.(编译态错)
        Lower bound exceeds upper bound
        下界超出了DIM语句定义的上界.(编译态错)
        Math overflow
        计算出的结果太大,不能在BASIC数据格式中表示出来.(编译态错)
        $Metacommand error
        元命令不正确,如果用BC编译时,此错误不是致命的,程序将运行,但结果可能不正确.
        (编译态警告)
        Minus sign missing
        Quick BASIC需要一个减号.(编译态错)
        Missing Event Trapping(/W)or Checking Between Statements(/V)option
        程序包含需要这些选择之一的/N event语句.(编译态码)
        Missing On Error(/E)option
        使用BC命令时,编译包含ON ERROR语句的程序必须使用ON ERROR(/E)选项。( 编译态错)
        Missing Resume Next(/X) option 
        使用BC命令时,编译包含RESVME,RESVME NEXT,和RESVME。语句的程序必须使用RESVME NEXT(/X)选项。(编译态错)
        Module level code too large
        模块级码超越了Quick BASIC的内部限制。可将一些代码移动到SUB或FUNCTION 过程中。(编译态错)
        Module not found。Unload module from program?
        装入程序时,Quick BASIC未发现含有指定模块的文件,Quick BASIC将会产生一个空模块取代之。运行程序前必须将空模块删除掉。
        Must be first statement on the line
        在IF...THEN...ELSE结构中,IF,ELSE,ELSE IF与END IF仅能用行号或行标志引导。(编译态错)
        Name of subprogram illegal
        出错原因是子程序名使用了Quick BASIC保留 字,或者两个子程序同名。(编译态错)
        Nested function defintion
        在FUNCTION定义中又出现了FUNCTION定义,或在IF...THEN...ELSE 子句中发生上述情况。(编译态错)
        NEXT missing for variable
        有FOR语句而没有相应的NEXT语句。该变量是FOR循环的下标变量。(编译态错)
        NEXT without FOR 每一个NEXT语句都应该与一个FOR语句相对应。(编译态错)
        No line number in module-name at adress segment:offset
        出错处理时,在行号表中找不到出错地址就会产生此错误。如果行号不是0_65,527 范围内的整数,也会产生此种错误。如果用户覆盖了行号表也会产生此错误。 这个错误很严重,而且难以发现。(运行态错)
        No main module,Choose Set Main Module from the Run menu to select one 
        程序还未装入主模块就试图运行,所有程序都必须有一个主模块。(编译态错)
        No RESUME
        程序在处理错误的过程中碰到程序结束标态。需要使用RESQUME语句修正这种情况。(运行态错)
        出错代码:19
        Not watchable
        在观察表达式中指定变量,就会出现此错误。需确认在当前激活的视窗中模块级过程访问了应该匹配的变量。例如,模块级代码不能访问SUB或FUNCTION中的变量(运行态错)
        Numeric array illgeal
        VARPTR$的参数不能是数值型数组,只能是简单变量和字符串数组元素。(编译态错)
        Only simple variables allowed
        在READ与INPUT语句中,不允许使用用户定义类型的数组, 即允许使用非用户定义类型的数组(编译态错)
        Operation requires disk
        试图对外磁盘驱动口,如打印机或键盘进行取出或存入操作。(编译态错)
        Option unknown:option
        给出的选择非法。(BC引导错)
        Out of DATA
        执行READ语句时,DATA语句的数据已读完。(运行态错)
        出错代码:4
        Out of data space
        应该修改数据空间请求。如下所述:
        ●在OPEN语句的LEN子句中减小文件缓冲区。
        ●使用元命令产生动态数组,动态数组比静态数组的数据量大得多。
        ●使用定长字符串数组而不是变长字符串数组。
        ●使用能满足要求的最小数据类型。尽可能使用整型数据。
        ●尽量少使用小过程。Quick BASIC必须对每一个过程产生若干控制信息字节。
        ●需要用CLEAR语句来修改栈空间,使用将够用的栈空间来满足要求。
        ●源程序每行不要多于255个字符,这样的大行需要附加文本缓冲区空间。(编译态或运行态错)
        Out of memory
        所需的内存大于能够提供的内存量。例如,分配文件缓冲区时空间不够。可以减少DOS缓冲区,或者清除一些终止并滞留在内存的程序或去掉一些设备驱动器。如果数组很大,需要在程序开始加入一条元命令。如果内存中装有一些文卷, 清除文卷可以释放些内存空间。(BC引导错,编译态或运行态错)
        出错代码:7
        Out of paper
        打印机无纸或未开电源。(运行态错)出错代码:27
        Out of stack space
        递归函数过程嵌套太深,激活子程序过多,FUNCTION与SUB调用太多时,将发生这种错误,应该使用CLEAR语句来增加程序分配的栈空间,这个错误不能被捕获。(运行态错)
        Out of string space
        字符串变量超越了分配给字符串的空间。(运行态错)
        出错代码:14
        Overflow
        运算结果超界。其值超出了整型数范围及浮点数范围。(运行态错)
        出错代码:6
        Overflow in numeric constant
        常数值太大。(编译态错)
        Parameter type mismatch
        子程序或FUNCTION参数的类型与DECLARE语句参数的类型或调用参数的类型不匹配。
        (编译态错)
        Path not found
        在OPEN,MKDIR,CHDIR或RMDIR操作时,DOS无法找到指定路径。操作不能完成。(运行态错)
        出错代码:16
        Path/File access error
        在OPEN,MKDIR,CHDIR或RMDIR操作时,DOS 无法使路径名与
        文件名正确地联系起来。此操作不能完成。(编译态错或运行态错)
        出错代码:75
        Permisson denied
        对写保护的磁盘进行写入操作或读写加锁文件。(运行态错)
        出错代码:70
        Procedure already defined in Quicklibrary
        QuickBASIC过程与用户程序中的过程同名。(编译态错)
        Procedure too large
        过程超越了QuickBASIC的内部限制。 需要将此过程划分成几个过程使之缩小。(编译态错)
        Program-memory overflow
        编译一个代码段超过64K的程序。应该将此程序分成若干个模块,或使用CHAIN语句。( 编译态错)
        Read error on standard input 
        从键盘或改向输入的文件放读操作时会出现这个系统错误。
        Record/string assignment required
        LSET语句中丢失了字符串或丢失了记录变量参数。(编译态错)
        Redo from start
        在INPUT提示符下输入错误的数据或项目类型。需要用正确的形式重新输入数据。(运行态错)
        Rename acrossd disks
        试图用新的驱动器名更改文件名,这是不允许的。(运行态提示)
        出错代码:74
        Requires DOS 2.10 or later
        在不正确的DOS版本下使用QuickBASIC。(QB引导或运行态错)
        RESUME without error
        在进入出错捕获子程序之前就遇到了RESUM语句。(运行态错)
        出错代码:20
        RETURN without GOSUB
        RETURN 语句之前找不到与之匹配的GOSUB语句。(运行态错)
        出错代码:3
        Right parenthesis missing
        QuickBASIC需要左(结束)括号。(编译态错)
        SEG or BYVAL not allowed in CALLS
        BYVAL与SEG只允许在CALL语句中应用。(编译态错)
        SELECT without END SELECT
        SELECT CASE语句中缺少了结束语句或拼写错误。(编译态错)
        Semicolon missing
        QuickBASIC需要一个分号“;”。(编译态错)
        Separator illegal
        在PRINT USING或WRITF语句中出现了非法的分界符。应使用分号或逗号做为分界符。
        (编译态错)
        Simple or array variable expected
        编译程序需要变量参数。(编译态错)
        Skipping forward to END TYPE statement
        TYPE语句中的一个错误Quick BASIC忽略了TYPE与END TYPE之间的一切。(编译态错)
        Statement cannot occur within $INCLUDE file
        在包含文件中不允许出现SUB。..ENDSUB和FUNCTION...END FUNCTION语句块。使用文件菜单中的Merge命令将包含文件插入到当前模块中,或将包含文件作为独立的模块装入内存,如果把包含文件作为独立的模块装入,需要重新构造, 因为共享变量仅在模块范围内共享。(编译态错)
        Statement cannot precede SUB/FUNCTION definition
        过程定义前使用的语句只能是REM和DEF type语句。(编译态错)
        Statement ignored
        在使用BC命令编译含有TRON和TROFF语句的程序时没有用/D选项。这个错误不是致命
        的。此程序将会执行,但是结果可能出错。(编译出错)
        Statement illegal in TYPE block 
        在TYPE与END TYPE之间只允许REM和element AS typename出现。(编译态错)
        Statement unrecognizable
        可能把一个BASIC的语句输入错了(编译态错)
        Statements/labels illegal between SELECT CASE and CASE
        在SELECT CASE与第一个CASE语句之前不能出现其他语句和行标志。 但是可以出现注释语句和语句分隔符。(编译态错)
        STOP in module name at address segment:offset
        程序中遇到STOP语句。(运行态错)
        String assignment required 
        REST语句缺少字符串设定。(编译态错)
        String constant required for ALIAS
        DECLARE语句中的关键字ALIAS应该是字符串常量参数。(编译态错)
        String expression required
        语句需要字符串表达式做参数。(编译态错)
        String formula too complex
        字符串太长或者INPUT语句中申请了15个以上字符串变量,应该将字符串公式拆开或将IMPUT语句分成几部分使之正确执行。(运行态错)
        出错代码:16
        String space corrupt
        压缩堆栈时删除字符串空间的无效字符时,会产生此种错误。产生错误的原因如下:不恰当地修改字符串指针或字符串返回指针, 使用汇编语言子程序修改字符串时就会发生此错误。
        使用的数组下标超界及字符串空间修改不充分, 过程调试码选项可用来在编译时超界的数组下标。
        错误地使用POKE与/或DEF SEG语句可能会不适当地修改字符串空间。
        两个相链接的程序间可能出现不匹配的COMMON语句。(运行态错)
        String variable required
        语句需要串变量参数。(编译态错)
        SUB or FUNCTION missing
        在DECLARE语句中没有相应的过程。(编译态错)