From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.3 required=5.0 tests=BAYES_00,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,5bb6410b5c961c45 X-Google-Attributes: gid103376,public From: "Samuel A. Mize" Subject: Re: New tools and old exceptions Date: 1997/05/20 Message-ID: <3381B9FA.41C6@magellan.bgm.link.com>#1/1 X-Deja-AN: 243497542 References: <3.0.32.19970519223408.0070cc14@mail.4dcomm.com> Organization: PSI Public Usenet Link Newsgroups: comp.lang.ada Date: 1997-05-20T00:00:00+00:00 List-Id: Robert C. Leif, Ph.D. wrote: > > From: Bob Leif, Ph.D. > To: Comp.Lang.Ada > > ... Ada.Exceptions has a > function Exception_Information(X: Exception_Occurrence) return string; > Exception_Occurrence is limited private and no simple information is given > on how to call Exception_Occurrence as an argument based on a name such as > Constraint_Error. > From the error messages that I have been generating, Constraint_Error is an > exception not an Occurrence. > Therefore how does one > Exception > When Constraint_Error => > obtain the Exception_Information on the Constraint_Error? Check the example in RM 11.4.2. Quick info: - To get ahold of the current Exception_Occurrence in a handler, put a parameter in the "when" clause: begin null; when E: others => -- E is implicitly of type Exception_Occurrence Text_Io.Put_Line ("DIE DIE DIE " & Ada.Exceptions.Exception_Information (E); end; - To just raise a given exception, use a "raise" statement: raise Constraint_Error; - But to raise it and attach your own text (which can then be retrieved by Exception_Information) use Exceptions.Raise_Exception, using the 'Identity attribute to get the exception's ID: Ada.Exceptions.Raise_Exception (Constraint_Error'Identity, "Failed in region 7 due to stupid user error"); Samuel Mize > I am posting this to Comp.Lang.Ada; since, I do not believe that this is a > GNAT problem. > > I would also like to note for the text book authors, that describing in > detail how to maximize the information available in the Ada exception > handler would be appreciated by the students and other readers. > > Thank you. > Bob Leif -- Samuel Mize (817) 619-8622 "Team Ada" -- Hughes Training Inc. PO Box 6171 m/s 400, Arlington TX 76005