Make your own free website on
4.3.4 The FAILURE condition
The FAILURE is a condition of mixed origin, it is raised when a
command returns a return value which indicates failure during
execution, abnormal termination, or when it was impossible to
execute a command.  It is a subset of the ERROR condition, and if
it is in state OFF, then the ERROR condition will be raised
instead. But note that an implementation is free to consider all
return codes from commands as ERRORs, and none as FAILURES. In
that case, the only situation where a FAILURE would occur, is when
it is impossible to execute a command.

Differences between FAILURE and the standard condition:

    The delay action of FAILURE 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, or the return
  code that signalize that the command was impossible to execute.

As for ERROR, there is no standard the defines which return values
are failures and which are errors. Consult the system and
implementation independent documentation for more information.

The descriptive text returned by CONDITION() when called with the
Description option for condition FAILURE, 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.