Path: utzoo!utgpu!water!watmath!clyde!att!ucbvax!UNCAEDU.BITNET!ewilts%Ins.MRC.AdhocNet.CA
From: ewilts%Ins.MRC.AdhocNet.CA@UNCAEDU.BITNET (Ed Wilts)
Newsgroups: comp.os.vms
Subject: re: CLI$DCL_PARSE error signalling
Message-ID: <880616080848.018@Ins.MRC.AdhocNet.CA>
Date: 16 Jun 88 14:08:48 GMT
Sender: daemon@ucbvax.BERKELEY.EDU
Organization: The Internet
Lines: 15

To solve your problem, you need to do the following:

CALL LIB$ESTABLISH (LIB$SIG_TO_RET)     ! Establish condition handler
STATUS = CLI$DCL_PARSE (.......)        ! Do your parsing
CALL LIB$REVERT                         ! Revert to normal

What this does is establish a condition handler that will trap all attempts
to signal errors and return the status code to the calling routine.  You can
then safely have CLI$DCL_PARSE generate whatever errors it wants and you can
handle them appropriately.  Don't forget to revert the condition handler so
that other failures dump normally.

Works for me....

        .../Ed