Ernest Hill ([log in to unmask]) wrote:
: Does anyone know how the COBOL trap mechanism is supposed to work within a
: COBOL subroutine which is called from within a PASCAL TRY-RECOVER block. The
: COBOL manual says "Pascal TRY/RECOVER may not work for RANGE errors".
: Whatever that means.
It's been a long time since I wrote that stuff and worked on MPE/iX.
The comment about range errors is probably related to the fact that COBOL
trap mechanism uses them for ON SIZE ERROR and $BOUNDS.
: I am setting the COBRUNTIME var to MCCCCC which should cause the subroutine
: to print a message and continue when an error occurs. This is not happening.
: Instead the subroutine is aborting and I am ending up in the RECOVER block.
: If I take the TRY-RECOVER out of the PASCAL program, then an error
: message is printed and the subroutine continues.
I think the COBOL trap handler detects the presence of the RECOVER block
and doesn't go into the COBOL part.
: This is not what appeared to have been what happened many moons ago.
: Does anyone know what the correct behaviour is?
: I have a call into HP, but any input would be appreciated.
: Ernest Hill
What was the escapecode? Does it match any in pasesc.pub.sys?
: TRY
: savepascaltraps;
: coboltrap;
: UE0BUFFERS (trans_number
: restorepascaltraps;
: RECOVER
: writeln('In Recovery', escapecode);