Interpreting error messages

When you run a program that contains an error, an error message often includes the line on which the error occurred and gives an explanation of the error. Error messages can result from syntax errors and from computational errors.

Example

The following program has a syntax error.
Figure 1. Example of a program with a syntax error

/************************** REXX **********************************/
/* This REXX program contains a deliberate error of not closing   */
/* a comment. Without the error, it would pull input to produce   */
/* a greeting. */
/******************************************************************/

PULL who                     /* Get the person's name.
IF who = '' THEN
   SAY 'Hello, stranger'
ELSE
   SAY 'Hello,' who
When the program runs, the language processor sends the following lines of output.
       7 +++ PULL who                /* Get the person's name.IF who =
'' THEN SAY 'Hello, stranger'ELSE SAY 'Hello,' who
CICREX453E Error 6 running HELLO EXEC, line 7: Unmatched "/*" or quote

The program runs until the language processor detects the error, the missing */ at the end of the comment. The PULL instruction does not use the data from the data stack or terminal because this line contains the syntax error. The program ends, and the language processor sends the error messages.

The first error message begins with the line number of the statement where the language processor detected the error. Three pluses ( +++ ) and the contents of the statement follow this.
       7 +++ PULL who                /* Get the person's name.IF who =
'' THEN SAY 'Hello, stranger'ELSE SAY 'Hello,' who
The second error message begins with the message number. A message containing the program name, the line where the language processor found the error, and an explanation of the error follow this.
CICREX453E Error 6 running HELLO EXEC, line 7: Unmatched
"/*" or quote
To fix the syntax error in this program , add */ to the end of the comment on line 7.
PULL who                     /* Get the person's name. */