home *** CD-ROM | disk | FTP | other *** search
-
- Error Messages
-
-
-
-
- AmigaDOS Error Codes
-
-
- This section details the numeric AmigaDOS
- errors and their meanings. You may also use the
- AmigaDOS FAULT command followed by an error
- number to obtain the meaning.
-
- 103 insufficient free store
-
- 105 task table full
-
- 114 bad template
-
- 115 bad number
-
- 116 required argument missing
-
- 117 keyword requires argument
-
- 118 too many arguments
-
- 120 argument line invalid or too long
-
- 121 file is not an object module
-
- 122 invalid resident library during load
-
- 201 no default directory
-
- 202 object in use
-
- 203 object already exists
-
- 204 directory not found
-
- 205 object not found
-
- 206 invalid window
-
- 207 object too large
-
- 208 invalid action
-
- 209 packet request type unknown
-
- 210 invalid stream component name
-
- 211 invalid object lock
-
- 212 object not of required type
-
- 213 disk not validated
-
- 214 disk write-protected
-
- 215 rename across devices attempted
-
- 216 directory not empty
-
- 217 too many levels
-
- 218 device not mounted
-
- 219 seek error
-
- 219 seek error
-
- 220 comment too big
-
- 221 disk full
-
- 222 file is protected from deletion
-
- 223 file is protected from writing
-
- 224 file is protected from reading
-
- 225 not a DOS disk
-
- 226 no disk in drive
-
- 232 no more entries in directory
-
- 233 object is soft linked
-
- 234 object is linked
-
- 235 bad hunk
-
- 236 not implemented
-
- 240 record not locked
-
- 241 lock collision
-
- 242 lock timeout
-
- 243 unlock failed
-
- 303 Buffer overflow
-
- 304 break received
-
- 305 file not executable
-
-
- Runtime Errors
-
- A run-time error is an error produced by a
- running program; they are distinct from errors
- produced by the compiler while compiling your
- program which are detailed later in this
- Appendix. There are two types of run-time
- error: fatal errors, produced when something
- goes seriously wrong, and ordinary errors.
- As a substantial part of the compiler is
- written in MaxonBASIC it is possible for the
- compiler to generate these errors, the most
- common of which is Out of memory.
-
-
- Fatal Run-time Errors
-
- These are shown in a similar way to a Guru in a
- red box at the top of the screen, with these
- ominous words
-
- MaxonBASIC fatal error: <message> <,#line>
- Don´t panic - press left mouse button
- The <#line> part of the message will contain
- the last physical line number, if the line
- number option was on. Pressing the left mouse
- button should terminate the program. These are
- known as fatal errors because ON ERROR cannot
- trap them - the problem is considered too
- serious to continue running the program. Fatal
- errors that can occur are as follows:
-
- Cannot create HB.mainport
- Very unlikely, this means the program´s main
- message port cannot be allocated, normally
- because memory is extremely low.
-
- Cannot open mathieeedoubbas.library
- This library is required for double-precision
- maths.
-
- Cannot open mathieeedoubtrans.library
- This library is required for double-precision
- transcendental routines, including trig
- functions.
-
- Memory List Corrupt
- Either there is a bug in the run-time system,
- or something has corrupted BASICs memory list.
- It is likely that the machine will crash
- shortly after you left click, if not sooner.
-
- No hbasic2.library
- This occurs if a shared library-type program
- has been run and cannot find the library file.
- It must be in the LIBS: directory.
-
- Stack overflow
- The machine stack has overflowed; see the
- MINSTACK option.
-
- String space corrupt
- Either something has corrupted the string space
- (i.e. the heap) or the garbage collector has
- failed. If this occurs in a repeatable fashion
- please contact us.
-
- Unexpected Exception
- The operating system has tried to put up a
- Software error - task held System Requester,
- but BASIC intercepts this. This can be caused
- by many things, but most common on a 68000 is
- an address error, caused by accessing odd-
- aligned memory (e.g. PEEKL(45)) and illegal
- exceptions, caused by stack overflow or memory
- corruption. If the line number is not a big
- enough clue as to the cause the debugger can be
- used to catch the exact cause of the exception.
-
-
- Non-fatal Run-time Errors
-
- Non-fatal run-time errors are reported in a
- System Requester, with a message, module name,
- line number and channel number, together with
- an Abort program gadget. Some fields will not
- appear in messages, depending on the compiler
- options used.
- These errors are listed in numeric order for
- easy reference when messages are not included
- in the compiled program and for the ERR
- function. Following the numeric list there is
- an alphabetic list with explanations as to
- their meaning.
- 3 RETURN without GOSUB
- 4 Out of data
- 5 Illegal function call
- 6 Overflow
- 7 Out of memory
- 9 Subscript out of range
- 10 Redimensioned array
- 11 Division by zero
- 13 Type mismatch
- 16 String formula too complex
- 20 RESUME without error
- 23 Line buffer overflow
- 31 Wrong number of dimensions
- 49 Volume not found
- 50 FIELD overflow
- 51 Internal error
- 52 Bad channel number
- 53 File not found
- 54 Bad file mode
- 55 File already open
- 57 Device I/O error
- 61 Disk full
- 62 Input past end
- 63 Bad record number
- 64 Bad file name
- 67 Too many files
- 68 Device function unavailable
- 70 Disk write protected
- 75 Path/file access error
- 76 Path not found
- 77 BREAK pressed
- 80 Array not dimensioned
- 81 Sub-program not present
-
-
- Run-time Errors Alphabetically
-
-
- Array not dimensioned
- You have used an array that has not been
- dimensioned. This only occurs when the Auto-DIM
- arrays option is disabled. In generally means
- that you have misspelt the array name here or
- have forgotten to DIMension it.
-
- Bad channel number
- Valid channel numbers are from 1 to 255
- inclusive, plus 256 for the default printer
- channel that is used by LPRINT. In addition
- windows use channel numbers 257 upwards.
-
- Bad file mode
- You are trying open a channel with an invalid
- mode string, or trying an input/output
- operation on a channel that cannot support it,
- e.g. PRINTing to a file opened for INPUT.
-
- Bad file name
- The filename is invalid, either because it is
- too long or because it contains invalid
- characters.
-
- Bad record number
- A record number of 0 is not valid in a PUT or
- GET statement.
-
- BREAK pressed
- Ctrl-C or A-.was pressed. This error cannot be
- trapped by ON ERROR but can with ON BREAK - if
- you wish Ctrl-C to be ignored then turn the
- break checks option off.
-
- Device I/O error
- A physical error has occurred during an
- input/output operation or the operation cannot
- be performed because of lack of memory.
-
- Device unavailable
- You are trying an operation on a device that
- cannot support it, such as drawing a circle on
- a disk file.
-
- Disk full
-
- Disk write protected
-
- Division by zero
-
- FIELD overflow
- A FIELD statement has attempted to use more
- space than specified in the record size when
- OPENed, or PRINT# to a random file has filled
- the current record.
-
- File already open
- Another program has probably opened the file.
-
- File not found
-
- Illegal function call
- This error can be caused by a multitude of
- things and means a parameter was not in the
- range required by a function. The module name
- and line number can be used to track down the
- error.
-
- Input past end
- You have tried to read past the end of a file.
-
- Internal error
- This should never happen. It almost certainly
- means that your program has destroyed part of
- the heap or the program itself.
-
- Line buffer overflow
- A text line in a file is too long for the
- current line buffer. You can increase the size
- of this buffer by modifying the long word at
- SYSTAB+68.
-
- Out of data
- A READ has been attempted when no more DATA is
- available.
-
- Out of memory
- If you are using the Old Heap option this means
- the heap is full, which is the area of memory
- used for storing strings and arrays. You should
- use either the new heap or increase the size of
- the old heap. See Chapter 4: The Compiler.
-
- Overflow
- A result of a numeric calculation is too large
- to fit into the required type. This can occur
- when you don´t expect it, for example the line
-
- test!=32767+1
- will produce it, as two integers are added
- together using integer arithmetic. The correct
- result can be obtained by forcing single-
- precision arithmetic:
-
- test!=32767!+1
-
- Path not found
- An invalid path was specified in a DOS command.
-
- Path/file access error
- You are not permitted to do that operation with
- that file, such as trying to KILL a read-only
- file.
-
- Redimensioned array
- An existing array must be ERASEd before DIMmed
- for a second time. Alternatively use REDIM.
-
- RESUME without error
- A RESUME command will only work from within an
- ON ERROR handler.
-
- RETURN without GOSUB
- A RETURN statement was executed but not from a
- section of the program which had been called
- with GOSUB. This error will only occur with the
- stack checks option turned on (see Chapter 4:
- The Compiler).
-
- String formula too complex
- String operations use temporary descriptors for
- intermediate results, and it is remotely
- possible to run out and produce this error. You
- can use the String Descriptors (STRINGS)
- compiler option to increase this.
-
- Sub-program not present
- The means that you have called an un-defined
- sub-program or function. Normally this is
- checked by the compiler so this error will only
- occur if you have used the Allow undefined sub-
- programs option (UNDEFSUBS) has been used.
-
- Subscript out of range
- An array subscript used is larger than that
- specified in the dimensioned statement,
- negative, or 0 if OPTION BASE 1 is used.
-
- Too many files
- A maximum of 255 channels may be opened at once
- from BASIC.
-
- Type mismatch
- A READ was attempted into a numeric variable
- but the data was found to be a string.
-
- Volume not found
-
- Wrong number of subscripts
- An array has been referenced with a different
- number of dimensions to the number last DIMmed.
- Unlike other compilers this is a run-time error
- as dynamic MaxonBASIC arrays can be REDIMmed
- with different numbers of dimensions.
-
-
- Compilation Errors
-
-
- When the integrated compiler detects an error
- or something that may be an error (a warning)
- it generates a message.
- Where possible, the editor will load and
- activate the appropriate source file, ensuring
- that the line containing the error is on the
- screen.
- If you click on Stop (or press S) then you will
- be returned to the editor and you can then fix
- the error.
- Clicking on OK (or pressing O) will make the
- compiler continue and it may find other errors.
- Sometimes one error may cause the compiler to
- generate other, so-called knock-on errors. If
- you find this confusing you should always
- select Stop and fix your bugs one at a time.
- If you click on Continue to End (C), the
- compiler will attempt to compile the entire
- program without displaying any further error
- messages. If you have a large number of errors
- then you will probably get the message Too Many
- Errors.
- When you return to be editor you can use Ctrl-E
- (or the Next sub-item from Errors sub-menu on
- the Program menu) to move to the next error
- with the error message displayed in the window
- title bar. To go to a previous error use Shift-
- Ctrl-E (or the Next sub-item from Errors sub-
- menu on the Program menu). The editor takes
- account of any insertions or deletions
- automatically so that unless one error (like a
- mistake in a definition) has caused multiple
- errors you should only need to compile once.
- Normally the error message should be fairly
- obvious. The following list gives some extra
- hints for some of the error messages.
- Occasionally the compiler will spot errors
- somewhat later than you might expect. This is
- usually because the text up to the point it has
- read is allowed in certain contexts. If you
- have missed something out at the end of a line,
- then the error may be detected at the beginning
- of the next line. Note that, except in the case
- of missing sub-programs, line numbers or
- labels, the error in your program can not be
- after the point where the error was detected.
- On occasions the compiler will generate more
- than one error message as a result of a single
- error in your program; do not be put off by
- this. If you get confused, just re-compile.
- If you have a very badly formed source file,
- the compiler may slow down considerably. It is
- probably a good idea to click on the Stop
- button.
- It is possible that some error messages may
- have been added to the compiler; only if an
- error is generated without an error message is
- this a possible bug in the compiler. If you do
- get an error number without a message, please
- tell us.
-
- When using the compiler directly rather than
- from the editor, the error messages are
- prefaced by the error number and followed by
- the line and file in which the error was
- detected. In the case of warnings the compiler
- will continue automatically. After an error it
- will ask you if you wish to continue. If you
- type n or N (for no) compilation will stop; if
- you hit any other key compilation will
- continue. To avoid this prompting use the BATCH
- option.
-
-
- Compiler Error Messages
-
- In the following list many of the messages give
- an identifier, reserved word or symbol, this is
- displayed instead of the % in the message.
-
- 2 ON... should be followed by GOTO/GOSUB
-
- 3 Undefined identifier %
-
- 4 Unterminated string in data
-
- 5 Line number/label missing in GOTO/GOSUB %
- found instead
-
- 6 END DEF assumed
-
- 7 END SUB assumed
-
- 8 END DEF/FUNCTION where END SUB expected
-
- 9 END SUB /FUNCTION where END DEF expected
-
- 10 Letter expected after DEFINT etc
-
- 11 Letter expected after - in DEFINT etc
-
- 13 Extra END / NEXT / LOOP
-
- 14 Numeric expression expected (not string)
-
- 15 ) expected instead of %
-
- 16 Unterminated string
-
- 17 Unexpected character in source
-
- 18 FN must be followed by a name.
-
- 19 Bad line number (% is not positive)
-
- 20 Bad line number (% is too large)
-
- 21 Bad line number (% has fraction/ exponent)
-
- 22 Line number % not found
-
- 23 Line number % not found
-
- 24 Parameter (%) may not be used as FOR loop
- identifier
-
- 25 Name (not %) expected in parameter list
-
- 26 Options file % not found
-
- 27 CDECL may only be used in DECLAREd sub-
- programs
-
- 28 ) expected at end of parameter list. %
- found instead
-
- 29 Name expected instead of %
-
- 30 Statement only allowed in sub-program or
- function
-
- 32 Label % defined twice
-
- 33 COMMON must be followed by SHARED
-
- 34 Line number/label expected instead of %
-
- 35 WIDTH statement badly formed
-
- 37 Constant % may not be used in parameter
- definition.
-
- 38 Too many lines in program
-
- 39 Internal Error (bad source on pass 2)
-
- 40 Expression mismatch
-
- 41 END FUNCTION expected before here
-
- 42 Expression too complex (too many
- operators)
-
- 43 Expression mismatch
-
- 44 Expression too complex
-
- 45 Expression syntax
-
- 46 Expression syntax
-
- 47 FUNCTION or SUB expected after DECLARE
-
- 48 FUNCTION or SUB declared but not present
-
- 49 SUB name % used in expression
-
- 50 Expression mismatch: % is not a unary
- operator
-
- 51 Expression mismatch: No unary string minus
-
- 52 Expression mismatch
-
- 53 Illegal type combination
-
- 54 Illegal type combination (not string)
-
- 55 Parameter % appears twice
-
- 56 Illegal type combination (not string)
-
- 57 % is not a variable or the current
- function
-
- 58 Variable is wrong type
-
- 59 Open bracket expected instead of %
-
- 60 Comma expected instead of %
-
- 61 Semi-colon expected instead of %
-
- 62 Extra characters at end of statement % is
- first
-
- 63 END DEF assumed at the end of program
-
- 64 END SUB assumed at the end of program
-
- 65 END DEF / SUB where END FUNCTION expected
-
- 67 Bad option specified
-
- 68 ( expected in CALL statement instead of %
-
- 69 Subroutine % not found
-
- 70 Can only disable reserved words from
- within a program or pre-tok file
-
- 71 DECLARE..LIBRARY must be after LIBRARY
- statement
-
- 72 = expected instead of %
-
- 73 LIBRARY routine % mis-used
-
- 74 Unknown meta-command %
-
- 75 Structure table full
-
- 76 LIBRARY expected instead of %
-
- 77 Tokens file too old
-
- 78 FOR variables must be simple variables
- (not % which is an array)
-
- 79 FOR variable % can´t be a string
-
- 80 TO not % expected in FOR statement
-
- 81 Tokens file too new
-
- 82 Tokens file corrupt
-
- 83 BASE not % expected after OPTION
-
- 84 OPTION BASE must be followed by the number
- 0 or 1 not %
-
- 85 Tokens file % not found
-
- 86 Cannot delete % as a reserved word
-
- 88 % cannot start a statement
-
- 89 Extra ELSE
-
- 90 ELSEIF must be followed by THEN not %
-
- 91 % not allowed after END
-
- 92 Mismatched NEXT should be %
-
- 93 END IF expected before here
-
- 94 END REPEAT expected before here
-
- 95 NEXT expected before here
-
- 96 END SELECT expected before here
-
- 97 WEND expected before here
-
- 98 LOOP/WEND expected before here
-
- 99 Name required after SUB or DEF. % found
- instead
-
- 100 Identifier % redefined
-
- 101 Option value too large
-
- 102 Name expected after LET (not %)
-
- 103 GOTO, THEN or end of line expected after
- IF expression not %
-
- 105 Unexpected END SUB or END DEF or END
- FUNCTION
-
- 106 CALL missing at start of statement
-
- 107 Unterminated control constructs
-
- 108 Function or sub-program redefined in
- LIBRARY %
-
- 109 Unknown REPEAT loop in EXIT
-
- 111 Semi-colon or comma expected
-
- 112 REDIM PRESERVE of arrays of more than one
- dimension not allowed
-
- 113 AS or , expected instead of % in OPEN
- statement
-
- 114 CONSTants must be integers not %
-
- 115 CONST % can not be assigned to
-
- 116 - expected instead of % in graphics
- statement.
-
- 118 % is not a label
-
- 119 ( expected instead of % in graphics GET or
- PUT
-
- 120 Array expected but ordinary variable %
- found
-
- 121 Argument to VARPTRS must be a subroutine
- name not %
-
- 122 Too many LIBRARY statements
-
- 123 INCLUDE file % not found
-
- 124 LIBRARY % not opened
-
- 125 Value parameter must not be array
-
- 127 Library /ALIAS must be string literal not
- %
-
- 128 Cannot open library %
-
- 129 Library % badly formed
-
- 130 Too many parameters in statement
-
- 131 Sub-program % not found
-
- 132 GOTO expected after ON ERROR not %
-
- 134 SELECT variable must only be a simple
- variable not %
-
- 135 LOOP/WEND expected before here
-
- 137 ON/OFF expected not %
-
- 150 Branch too far
-
- 151 Label table full
-
- 153 Invalid library
-
- 154 Cannot create output file %
-
- 155 Disk Full
-
- 156 Not enough memory for program´s code.
-
- 157 Internal error EOF
-
- 158 Internal error BADRT
-
- 159 Internal error BADMOD
-
- 162 Overflow
-
- 163 Internal bad type
-
- 164 Internal bad pseudocode size
-
- 165 Internal unbalanced stack
-
- 166 Internal label not found
-
- 167 Internal bad opcode
-
- 168 Internal double definition
-
- 169 Internal phasing error
-
- 170 Internal stack underflow
-
- 171 Internal precheck error
-
- 172 Internal missing VOM
-
- 173 Internal phasing error
-
-
-