<!-- PDF page 289 -->

| Code | Report | Description | Situation |
|---|---|---|---|
| A | Invalid argument | The argument for a function is no good for some reason. | **SQR**, **LN**, **ASN**, **ACS**, **USR** (with string argument) |
| B | Integer out of range | When an integer is required, the floating point argument is rounded to the nearest integer. If this is outside a suitable range then error **B** results. For array access, see also error **3**. | **RUN**, **RANDOMIZE**, **POKE**, **DIM**, **GO TO**, **GO SUB**, **LIST**, **LLIST**, **PAUSE**, **PLOT**, **CHR$**, **PEEK**, **USR** (with numeric argument), **PALETTE**, **BANK**, **SPRITE**, **LAYER**, **TILE**, **POINT**, Array access |
| C | Nonsense in BASIC | The text of the (string) argument does not form a valid expression. | **VAL**, **VAL$** |
| D | BREAK - CONT repeats | BREAK was pressed during some peripheral operation. The behaviour of **CONTINUE** after this report is normal in that it repeats the statement. Compare with report **L**. | **LOAD**, **SAVE**, **VERIFY**, **MERGE**, **LPRINT**, **LLIST**, **COPY.** Also when the computer asks **scroll?** and you type **N**, **SPACE** or **STOP**[^p289-1] |
| E | Out of DATA | You have tried to **READ** past the end of the **DATA** list. | **READ** |
| F | Invalid file name | **SAVE** with name that is empty or unacceptable (see Chapter 20) | **SAVE** |
| G | No room for line | There is not enough room left in memory to accommodate the new program line. | Entering a line into the program |
| H | STOP in INPUT | Some **INPUT** data started with **STOP**, or – for **INPUT LINE** – **STOP** was pressed. Unlike the case with error **9**, after error **H** **CONTINUE** will behave normally, by repeating the **INPUT** statement. | **INPUT** |
| I | FOR without NEXT | There was a **FOR** loop to be executed no times (e.g. **FOR** n=1 **TO 0**) and the corresponding **NEXT** statement could not be found. | **FOR** |
| J | Invalid I/O device |  | Storage device etc. operations |
| K | Invalid colour | The number specified is not an appropriate value. | **INK**, **PAPER**, **BORDER**, **FLASH**, **BRIGHT**, **INVERSE**, **OVER**, **PALETTE**; also after control characters |
| L | BREAK into program | **BREAK** pressed, this is detected between two statements. The line and statement number in the report refer to the statement before **BREAK** was pressed, but **CONTINUE** goes to the statement after (allowing for any jumps to be done), so it does not repeat any statements. | Any |
| M | RAMTOP no good | The number specified for RAMTOP is either too big or too small. | **CLEAR**, **BANK**; possibly in **RUN** |
| N | Statement lost | Jump to a statement that no longer exists. | **RETURN**, **NEXT**, **CONTINUE** |
| O | Invalid stream |  | Storage device, etc, operations |
| P | FN without DEF | An attempt was made to call a function with **FN** that has not been defined with a matching **DEF FN** statement. | **FN** |
| Q | Parameter error | Wrong number of arguments, or one of them is the wrong type (string instead of number or vice versa). | **FN** |
| R | Tape loading error | A file on tape was found but for some reason could not be read in, or would not verify. | **VERIFY**, **LOAD** or **MERGE** |
| d | Too many parentheses | Too many parentheses around a repeated phrase in one of the arguments. | **PLAY** |
| i | Invalid device | The storage device specified does not exist |  |
| k | Invalid note | **PLAY** came across a note or command it didn’t recognise, or a command which was in lower case. | **PLAY** |
| l | Too big | A parameter for a command is an order of magnitude too big. | **PLAY** |

[^p289-1]: STOP cannot normally be entered in NextBASIC as a token; this is retained for compatibility and does work when you switch to 48K mode

