IBM Books

Engineering and Scientific Subroutine Library for AIX Version 3 Release 3: Guide and Reference

ERRSET--ESSL ERRSET Subroutine for ESSL

The ERRSET subroutine allows you to control execution when error conditions occur. It modifies the information in the ESSL error option table for the error number indicated. For a range of error messages, you can specify the following:

For multithreaded application programs, if you want the error handling capabilities that this subroutine provides to be implemented on each thread created by your program, this subroutine must be called from each thread. If your application creates multiple threads, the action performed by a call to this subroutine applies to the thread that this subroutine was invoked from. For an example, see Example of Handling Errors in a Multithreaded Application Program.

Syntax

Fortran CALL ERRSET (ierno, inoal, inomes, itrace, iusadr, irange)
C and C++ errset (ierno, inoal, inomes, itrace, iusadr, irange);
PL/I CALL ERRSET (ierno, inoal, inomes, itrace, iusadr, irange);

On Entry

ierno
is the error number in the option table. The entry for ierno in the ESSL error option table is updated as indicated by the other arguments. Specified as: a fullword integer; ierno must be one of the error numbers in the option table. For a list of these numbers, see Table 26.

inoal
indicates the number of errors allowed before each execution is terminated, where:

If inoal <= 0, the specification is ignored, and the number-of-errors option is not changed.

If inoal = 1, execution is terminated after one error.

If 2 <= inoal <= 255, then inoal specifies the number of errors allowed before each execution is terminated.

If inoal > 255, an unlimited number of errors is allowed.

Specified as: a fullword integer, where:

If iusadr = ENOTRM, then 2 <= inoal <= 255.

inomes
indicates the number of messages to be printed, where:

If inomes < 0, all messages are suppressed.

If inomes = 0, the number-of-messages option is not changed.

If 0 < inomes <= 255, then inomes specifies the number of messages to be printed.

If inomes > 255, an unlimited number of error messages is allowed.

Specified as: a fullword integer.

itrace
this argument is ignored, but must be specified. Specified as: a fullword integer where, itrace = 0, 1, or 2 (for migration purposes).

iusadr
indicates whether or not the ESSL error exit routine is to be invoked, where:

If iusadr is zero, the option table is not altered.

If iusadr is one, the option table is set to show no exit routine. Therefore, standard corrective action is to be used when continuing execution.

If iusadr = ENOTRM, the option table entry is set to the ESSL error exit routine ENOTRM. Therefore, the ENOTRM subroutine is to be invoked after the occurrence of the indicated errors. (ENOTRM must appear in an EXTERNAL statement in your program.)

Specified as: a 32-bit integer in a 32-bit environment or the name of a subroutine; iusadr = 0, 1, or ENOTRM.

Specified as: a 64-bit integer in a 64-bit environment or the name of a subroutine; iusadr = 0_8, 1_8, or ENOTRM.

irange
indicates the range of errors to be updated in the ESSL error option table, where:

If irange < ierno, the parameter is ignored.

If irange >= ierno, the options specified for the other parameters are to be applied to the entire range of error conditions encompassed by ierno and irange.

Specified as: a fullword integer.

Notes
  1. Examples of how to use ERRSET are provided in Chapter 4, Coding Your Program.
  2. If you specify ENOTRM for iusadr, then inoal must be in the following range: 2 <= inoal <= 255.


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ]