Alice felt dreadfully puzzled. The Hatter's remark seemed to her to have no sort of meaning in it, and yet it was certainly English. "I don't quite understand you," she said, as politely as she could.

9. Error Messages

Due to INTERCAL's implementation of comment lines (see section 4.5), most error messages are produced during execution instead of during compilation. All errors except those not causing immediate termination of program execution are treated as fatal.

9.1 Format

All error messages appear in the following form:

        ICLnnnI (error message)
                ON THE WAY TO STATEMENT nnnn

The message varies depending upon the error involved. For undecodable statements the message is the statement itself. The second line tells which statement would have been executed next had the error not occurred. Note that if the error is due to 80 attempted levels of NEXTing, the statement which would have been executed next need not be anywhere near the statement causing the error.

9.2 Messages

Brief descriptions of the different error types are listed below according to message number.

000 An undecodable statement has been encountered in the course of execution. Note that keypunching errors can be slightly disastrous, since if FORGET were misspelled F-O-R-G-E-R, the results would probably not be those desired. Extreme misspellings may have even more surprising consequences. For example, misspelling FORGET R-E-S-U-M-E could have drastic results.
017 An expression contains a syntax error.
079 Improper use has been made of statement identifiers.
099 Improper use has been made of statement identifiers.
123 Program has attempted 80 levels of NEXTing.
129 Program has attempted to transfer to a non-existent line label.
139 An ABSTAIN or REINSTATE statement references a non-existent line label.
182 A line label has been multiply defined.
197 An invalid line label has been encountered.
200 An expression involves an unidentified variable.
240 An attempt has been made to give an array a dimension of zero.
241 Invalid dimensioning information was supplied in defining or using an array.
275 A 32-bit value has been assigned to a 16-bit variable.
436 A retrieval has been attempted for an unSTASHed value.
533 A WRITE IN statement or interleave ($) operation has produced a value requiring over 32 bits to represent.
562 Insufficient data.
579 Input data is invalid.
621 The expression of a RESUME statement evaluated to #0.
632 Program execution was terminated via a RESUME statement instead of GIVE UP.
633 Execution has passed beyond the last statement of the program.
774 A compiler error has occurred (see section 12).
778 An unexplainable compiler error has occurred.

The following error codes are new in C-INTERCAL:

111 You tried to use a C-INTERCAL extension with the "traditional" flag on.
127 Can't find syslib.i file when it's needed for magical inclusion.
222 Out of stash space.
333 Too many variables.
444 A COME FROM statement references a non-existent line label.
555 More than one COME FROM references the same label.
666 Too many source lines.
777 No such source file.
888 Can't open C output file.
997 Illegal possession of a controlled unary operator.
998 Source file name with invalid extension (use .i or .[2-7]i).
999 Can't open C skeleton file.