Hi Craig,

Unfortunately, UV has a number of fatal errors where they don't let you
catch them with the 'ON ERROR' clause. This is one of them.

On one hand, it would be good to catch it, but then again - could your
application gracefully exit from such a critical error? Lots of MV
applications I have seen merrily carry on there way, when they have
problems. Usually causing more problems, as a result!

Since you can't catch those via the program concerned, we merely put a
program in the ON.ABORT paragraph to stop the users being dropped to the TCL
prompt (where even more damage could be accidently be done). An @ABORT.CODE
value of 3 is suppose to indicate an internal and/or fatal error, but we've
found thing condition rarely gets raised. Hence, we using automatically
logout the user we a message telling them to contact the helpdesk
immediately.

So, perhaps the compromise for those willing to be the coding effort in --
it should be a configurable parameter on how certain errors be handled (a
UVCONFIG parameter or runtime parameter)?

Regards,
David


-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Craig Bennett
Sent: Tuesday, 20 July 2004 12:16 PM
To: [EMAIL PROTECTED]
Subject: Re: [U2] [UV] File corruption error, but ON ERROR branch not taken


Hi All,

we have a site which is experiencing file corruption problems (in one 
particular file).
The clients are trying to find problems in their SAN etc, and have 
created the errlog item in the UV account so we are logging the 
"Internal Data Error" messages when the corruption occurs (UV 10.0.7, 
AIX 5.1, no details for the SAN). I believe that the client has not 
applied APAR IY35927 for AIX as previously suggested on the list, 
despite our hope that this may fix the problem. At some point they will 
upgrade to UV 10.1, but I don't know when).

Leaving aside the problem underling the corruption, we wanted to try and 
catch this error and halt the sytem until the file has been fixed.

We tried testing a copy of the corrupted file:

We wrote this program:
PROGRAM TESTCRPT
OPEN "CRPT" TO CRPT ELSE STOP

READ AREC FROM CRPT,"XXXXX" ON ERROR
        PRINT "ERROR ":STATUS()
        STOP
END ELSE
        PRINT "ELSE"
END
END

I was expecting the ON ERROR clause to be taken, but when we run the 
program we see:

RUN PGMS TESTCRPT

   File '/data/TEST/CRPT':

   Computed blink of 0x74617C20 does not match expected blink of 0x0!

   Detected within group starting at address 0x172000!

   Program "TESTCRPT": Line 4, Internal data error.

ELSE

Can anyone tell me why the ON ERROR clause is not taken?
Or suggest another way that we can programmaticaly tell that this error 
has occurred?


thanks,


Craig
-------
u2-users mailing list
[EMAIL PROTECTED]
To unsubscribe please visit http://listserver.u2ug.org/

Reply via email to