Make your own free website on
4.3.3 The ERROR condition
The ERROR is a condition of mixed origin, it is raised when a
command returns a return value which indicates error during
execution.  Often, commands return a numeric value, and a
particular value is considered to mean success. Then, other values
might raise the ERROR condition.

Differences between ERROR and the standard condition:

    The delay action of ERROR is to ignore, not to queue.

    The special variable RC is always set before this condition
  is raised. So even if it is trapped by method SIGNAL, you can rely
  on RC to be set to the return value of the command.

Unfortunately, there is no universal standard on return values. As
stated, they are often numeric, but some operating system use non-
numeric return values. For those which do use numeric values,
there are no standard telling which values and ranges are
considered errors and which are considered success. In fact, the
interpretation of the value might differ between commands within
the same operating system.

Therefore, it is up to the REXX implementation to define which
values and ranges that are considered errors. You must expect that
this information can differ between implementations as well as
between different environments within one implementation.

The descriptive text returned by CONDITION() when called with the
Description option for condition ERROR, is the command which
caused the error. Note that this is the command as the environment
saw it, not as it was entered in the REXX script source code.