When an error happens, you can use the ERROR operation to figure out what went wrong. ERROR outputs a list whose items describe the error. The first item is a numeric code for the type of error that occurred. The second item is a human-readable message that explains the error.
Some messages may have two different codes depending on whether the error is recoverable (that is, if a substitute value can be provided through the ERRACT mechanism).
Some messages are warnings rather than errors; these can not be caught.
The conditions which generate the first two error codes so bad that Logo exits immediately. These also cannot be caught.
The numeric error codes and their corresponding human-readable messages are given in the table below.
| Error Code | Error Message |
|---|---|
| 0 | Fatal internal error (can't be caught) |
| 1 | Out of memory (can't be caught) |
| 2 | Stack Overflow |
| 3 | Turtle out of bounds |
| 4 | PROC doesn't like DATUM as input (not recoverable) |
| 5 | PROC didn't output to PROC |
| 6 | Not enough inputs to PROC |
| 7 | PROC doesn't like DATUM as input (recoverable) |
| 8 | Too much inside ( )'s |
| 9 | I don't know what to do with DATUM |
| 10 | ')' not found |
| 11 | VAR has no value |
| 12 | Unexpected ')' |
| 13 | I don't know how to PROC (recoverable) |
| 14 | Can't find catch tag for THROWTAG |
| 15 | PROC is already defined |
| 16 | Stopped |
| 17 | Already dribbling |
| 18 | File system error |
| 19 | Assuming you mean IFELSE, not IF (warning only) |
| 20 | VAR shadowed by local in procedure call (warning only) |
| 21 | User-initiated THROW "Error |
| 22 | PROC is a primitive |
| 23 | Can't use TO inside a procedure |
| 24 | I don't know how to PROC (not recoverable) |
| 25 | IFTRUE/IFFALSE without TEST |
| 26 | Unexpected ']' |
| 27 | Unexpected '}' |
| 28 | Couldn't initialize graphics |
| 29 | Macro returned VALUE instead of a list |
| 30 | I don't know what to do with VALUE |
| 31 | Can only use STOP or OUTPUT inside a procedure |
| 32 | APPLY doesn't like DATUM as input. |
| 33 | END inside multi-line instruction |
| 1001 | WINDOW already exists |
| 1002 | WINDOW does not exist |
| 1101 | DLL load failed |
| 1102 | DLL is not loaded |
| 1103 | Not all Type/Data inputs are paired |
| 1104 | Invalid data type input |
| 1105 | Invalid output type |
| 1106 | Function not found |
| 1201 | Problem Reading GIF, check memory and diskspace |
| 1202 | Problem Generating GIF, check memory and diskspace |
| 1211 | Could not open .bmp |
| 1212 | Unable to create Windows 3.0 bitmap |
| 1213 | Could not write .bmp |
| 1214 | Not a Windows 3.0 bitmap |
| 1300 | MIDI Error |
| 1301 | MIDI Error: Already open |
| 1302 | MIDI Error: Invalid MIDI device |
| 1303 | MIDI Error: Not open |
| 1401 | Timer not found |