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.
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); |
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.
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.
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.
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.