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.9 required=5.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.4 X-Google-Thread: 103376,699cc914522aa7c4 X-Google-Attributes: gid103376,public X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news2.google.com!news3.google.com!newsfeed2.dallas1.level3.net!news.level3.com!newsfeed-00.mathworks.com!nntp.TheWorld.com!not-for-mail From: Robert A Duff Newsgroups: comp.lang.ada Subject: Re: Structured exception information Date: Mon, 15 Jan 2007 12:28:14 -0500 Organization: The World Public Access UNIX, Brookline, MA Message-ID: References: NNTP-Posting-Host: shell01.theworld.com Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: pcls4.std.com 1168882094 31989 192.74.137.71 (15 Jan 2007 17:28:14 GMT) X-Complaints-To: abuse@TheWorld.com NNTP-Posting-Date: Mon, 15 Jan 2007 17:28:14 +0000 (UTC) User-Agent: Gnus/5.1008 (Gnus v5.10.8) Emacs/21.3 (irix) Cancel-Lock: sha1:7nuH0jVgy+mWwbZ3s6DsU8tHNg8= Xref: g2news2.google.com comp.lang.ada:8139 Date: 2007-01-15T12:28:14-05:00 List-Id: Maciej Sobczak writes: > If there are problems during the execution of the constructor function, > the exception is raised, so that there is no X object in a bad state. > How can I pass some error information from the constructor function out, > so that it's used when the exception is handled? There is no good way to do this in Ada. You can attach any information you like to an exception, if you are willing to encode it as a String -- but then you lose static type checking. You can put the info in a global variable, but that's bad for several reasons (not task safe, can be accessed outside of any handler, ...). You can put the info in a Task_Attribute, but that's rather a pain -- verbose and inefficient. - Bob