ERRSET (ESSL ERRSET Subroutine)
Purpose
- How many times a particular error is allowed to occur before the program is terminated
- How many times a particular error message is printed before printing is suppressed
- Whether the ESSL error exit routine is to be invoked
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
Language | Syntax |
---|---|
Fortran | CALL ERRSET (ierno, inoal, inomes, itrace, iusadr, irange) |
C and C++ | 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: an integer; ierno must be one of the error numbers in the option table. For a list of these numbers, see Table 1.
- 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: an 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: an integer.
- itrace
- this argument is ignored, but must be specified.
Specified as: an 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 integer, 32-bit pointer environment, or as the name of a subroutine; iusadr = 0, 1, or ENOTRM.
Specified: as a 64-bit integer in either a 32-bit integer, 64-bit pointer environment or a 64-bit integer, 64-bit pointer environment, or as 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: an integer.
Notes
- Examples of how to use ERRSET are provided in Coding programs.
- If you specify ENOTRM for iusadr, then inoal must be in the following range: 2 ≤ inoal ≤ 255.