IBM AS/400 manual Exception Handling, Infsr

Models: AS/400

1 489
Download 489 pages 47.95 Kb
Page 245
Image 245

 

 

 

Exception Handling

Overview

 

2. If

an 'E' operation

code

extender is

present on

the calculation

the

exception is one

that

is expected

for

that

operation:

a. The return values for the built-in funtions %STATUS and %ERROR are

Note: %STATUS is set when any exception occurs even if the 'E' extender is not specified.

b. The exception is handled

c. Control resumes with the next ILE RPG operation.

3. If no error indicator or 'E' extenderand is present

¹you have coded a *PSSR error subroutine and the exception is exception

or

¹

you

have coded

a

INFSR

error

subroutine for the file

and

th

 

an

I/O

exception,

 

 

 

 

 

then

the

exception

will

be

handled

and control will resume

at

the

of

the

error subroutine.

 

 

 

 

4. If no error indicator, 'E' extender, or error subroutine is cod default error handler is invoked.

¹If the excepnotiona isfunction check, then the exception will be percolated.

¹If the exception is a function check, then an inquiry message

played. If the 'G' or 'R' option is chosen, the function chec and control will resume at the appropriate point (*GETIN for 'G'

calculation specification that

received

the

exception

for

'R')

dure. Otherwise,the function

check will

be

percolated

and

the

be abnormally terminated.

 

 

 

 

 

See “Unhandled Exceptions” on page 223 for a full description of the handler.

Exception

Handling

within Subprocedures

 

 

 

 

 

Exception

handling within a subprocedure differs from

a main

procedur

lowing ways:

 

 

 

 

 

 

¹ Because you cannot code

an

*INFSR

subroutine, you

should

handle fi

using

error

indicators or

the

'E'

operation code

extender.

¹There is no default handler; in other words, users will never see message.

Exception handling within a subprocedure differs from a main procedur because there is no RPG cycle code generated for subprocedures. there is no default exception handler for subprocedures and so sit default handler would be called for a main procedure correspond to of the subprocedure. This means that:

¹ Factor 2

of

an

ENDSR

operation

for

a

*PSSR

subroutine

within

a subp

must be

blank.

A

blank

factor

2 in

a

main

procedure

would

result

being passed to the default handler. In a subprocedure, if the reached, then the subprocedure will end abnormally and RNX9001 will nalled to the caller of the subprocedure.

Chapter 12. Handling Exceptions221

Page 245
Image 245
IBM AS/400 manual Exception Handling, Infsr