Omikron BASIC for Apple Power Mac

5-12. Index of Command Groups Contents | 6-2. Compiler Error Messages


Chapter 6-1

Error Messages of Omikron Basic

If an error occurs during execution of your program, Omikron Basic outputs this error to an alert box. The alert box offers two choices: 'Continue' and 'End'. If the error is a fatal one, the program is aborted even if 'Continue' has been chosen. In the case of nonfatal errors, the program can continue; however, it might calculate with false results (e.g., after a division by zero). In addition, most of the nonfatal errors create follow up or secondary errors, which usually render a continuation of the program pointless. Therefore, it is recommended always to select 'End' and then first try to find the cause(s) of the error.

Since error-monitoring capability extends the program and reduces execution speed, there are a series of COMPILER control words which can be used to adjust the extent of error monitoring. It is recommended always to use the control word COMPILER "DEBUG ON" in the program development phase, which activates all error monitoring options. Many of the subsequently listed error messages are only displayed if this control word was set.

2 Syntax Error
  The program encountered a location, which was already marked by the editor as incorrect or the syntax of a command is incorrect (e.g., incorrect format string in the case of USING).

4 Out of DATA
  A READ command cannot find any more data.
Remedy: Input more data, incorporate verification of end of data into the program, or count the entries after DATA once more and compare with the number the program is supposed to have read.

5 Illegal Function Call
  A function or a command was used in an illegal manner. For example, ASC("") leads to an illegal function call. This error message can occur even if the first parameter following BIT is less than 0 or greater than 31.
Remedy: Check the arguments.

7 Out of BASIC Memory
  An attempt is made to set up a field or string although the still available amount of BASIC memory is insufficient.
Remedy: Reserve enough memory with COMPILER "BAS_MEM X".

8 Undefined Label
  An attempt is made to jump to a line or label that is not even defined. This error can only occur if a numerical dump or a string expression is used for the label. If constant jump markers are used, the compiler will find such errors already during compilation time.

9 Subscript out of Range
  An element of a variable field has been used whose field index is larger than the dimensioning of the field. This error occurs even if the index is less than zero.

Example: DIM A$(100)
               I=200:PRINT A$(I) 

13 Type Mismatch
  This error can occur if an attempt is made to e.g., read a string with the READ command although the DATA pointer points to a numerical variable or vice versa.

15 String Too Long
  This error message occurs if an attempt is made to use a string that is longer than 2147483647 bytes.
This error is also returned if the USING string is longer than 249 characters or if the FORM_ALERT string is longer than 255 characters.

38 STOP Command, Program Is Terminating
  The program encountered a STOP command.

39 Out of Stack Memory
  The stack size adjusted with COMPILER "STACK X" is not sufficient. A stack shortage can occur if procedures or functions with large interleaf depths call themselves (recursive programming). Another factor is that the SORT command requires a great deal of stack memory.

40 Not Dimensioned Array
You will receive this error message, if you try to use an array which has not yet been dimensioned. E. g., this can happen, if during runtime of your program all arrays have been deleted with CLEAR and than an array is used whithout new dimensioning it before.

47 Matrix Is Irregular
  The matrix to be inverted with MAT INV was not a regular one, therefore, an inverse cannot exist for it either. This error can also occur in the case of matrix divisions since the division is after all implemented by a multiplication with the inverse matrix.

55 Channel Is Already Open
  An attempt was made to reopen an already open channel. If several parallel channels are to be opened, these channels have to be assigned different numbers.

56 Channel Is Not Open
  An attempt was made to use a channel for reading or writing although this channel had not been opened previously.

62 Out of File Data
  An attempt was made to read data past the end of a (sequential) file, meaning, beyond the EOF character.
Remedy: Query with the EOF Function before input.

74 Integer Overflow
  An attempt was made to assign a value to an integer number that is outside of the range of values for this data type (e.g., A%=32768).

80 Illegal Floating Point Operation
  An attempt was made to execute a floating point operation that is not defined (e.g., A#=SQR(-1)).

81 Overflow in Floating Point Number Range
  During a calculation, the result of a floating point number is greater than the greatest number displayable in the used format (e.g., A#=FACT(1000)).

82 Underflow in Floating Point Number Range
  During a calculation, the result of a floating point number is smaller than the smallest number displayable in the used format (e.g., A#=1D-200 * 1D-200).

83 Floating Point Zero Divide
  An attempt was made to divide a floating point number by zero (e.g., A#=1/SQR(0)).

5-12. Index of Command Groups Contents | 6-2. Compiler Error Messages

Tech-Support | Order | Start | Home:

© 1997-2001 Berkhan-Software