Next: The yuk debugger, Previous: Invoking ick, Up: Top [Index]
Things may go wrong, either during the compilation or the execution of your program. Note that some things that would be compile-time errors in many other languages – such as syntax errors – are in fact run-time errors in INTERCAL.
Errors and warnings appear as an error code starting with
‘ICL’, followed by a three digit number,
followed by ‘I’ for an error or
‘W’ for a warning. However, they will be
notated here as ‘E000’, etc., to save space
and because consistency was never a strong point of
INTERCAL. This is followed by a text description of
the error, and a hint as to the location of the error. This is not the
line on which the error occurred, but rather the line on which the next
command to be executed is. To add to the fun, the calculation of the
next command to be executed is done at compile-time rather than
runtime, so it may be completely wrong due to things like abstention on
COME FROM
s or computed COME FROM
s. The moral
of this story is that, if you really want to know where the error is,
use a debugger. Note also that if the error happens at compile-time,
there is no guarantee that the line number given makes any sense at
all. Some errors don’t give next line numbers, mostly those for
which it doesn’t make logical sense, such as E633 (see E633). After this is a suggestion to correct
(or reconsider) the source code and to resubnit it. (This typo has been
carefully preserved for over a decade.)
• Errors: | Error messages that might be produced | |
• Warnings: | Warnings produced by the -l option |
Next: The yuk debugger, Previous: Invoking ick, Up: Top [Index]