IBM AS/400 manual Using Exception Handlers, For other, types of, messages, Escape, Message

Models: AS/400

1 489
Download 489 pages 47.95 Kb
Page 248
Image 248
For other

Using Exception Handlers

(when R is chosen). For example, any read operation will be retrie failed because of record locking.

For other

types of

messages

the

exception

is

percolated up

the

call

stack

caller

of

the

procedure. That procedure

is

presented

with

the

exce

chance

to

handle

it.

If it does not, then

the

exception

is percolat

until it reaches

the

control

boundary, at

which

point

the exception is

function

check,

and exception

handling

starts

over

as

described

above.

Example

of

Unhandled

Escape

Message

 

 

 

 

 

 

 

 

 

The

following scenario

describes

the

events which

occur

when

an

escape

is issued

and

cannot

be

handled

by

the

procedure in

which

it

occurr

nario

has

the

following assumptions:

 

 

 

 

 

 

 

1. There

 

are

two

programs,

PGM1

and

PGM2

which

run

in the same

activat

group.

 

Each

contains

a

procedure,

PRC1

and

PRC2

respectively.

 

2. PRC1

calls

PGM2

dynamically

and

PRC2

receives

control.

 

 

 

3. The CALL operation code in PRC1 has an error indicator for the cal

4.No RPG exception handlers have been coded in PRC2. That is, there error indicator coded for the SUBST operation and there is no *PSSR subroutine.

5. PRC2 has a SUBST operation where the Factor 1 entry is a negative

When PGM1 calls PGM2, and the SUBST operation is attempted, an exception message, RNX0100, is generated. Figure 109 depicts this scenario and the which occur.

Percolate

Unhandled

Exception

Call Stack

Procedure PRC1

CALL PRC2

Active Exception Handler List

Error Ind. Hdlr

RPG default Hdlr

Procedure PRC2

-1 SUBST RNX0100 issued

RPG default Hdlr

Figure 109. Scenario for Unhandled Escape Message

 

 

 

 

 

 

The

following

then

occurs:

 

 

 

 

 

 

 

 

 

1. Since

there

is

no

error

indicator

or *PSSR error subroutine coded

SUBST operation in PRC2, PRC2 cannot

handle

the

program

error,

and

 

so

unhandled.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2.

Since

it

is

not

a

function

check,

it is

percolated

(passed

up

th

PRC1.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3.

PRC1

receives

(handles)

the

same

exception

message,

and sets

on

th

indicator

on

the

CALL

operation with

the

side

effect

that PRC2

is

4.Processing then continues in PRC1 with the statement following the CALL operation.

224 ILE RPG for AS/400 Programmer's Guide

Page 248
Image 248
IBM AS/400 manual Using Exception Handlers, For other, types of, messages, Scenario for Unhandled Escape Message