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-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,1901f265c928a511 X-Google-Attributes: gid103376,public Path: g2news1.google.com!news2.google.com!fu-berlin.de!cs.tu-berlin.de!uni-duisburg.de!not-for-mail From: Georg Bauhaus Newsgroups: comp.lang.ada Subject: Re: new revision ada Date: Tue, 22 Jun 2004 10:38:50 +0000 (UTC) Organization: GMUGHDU Message-ID: References: <40BDBBFA.2020203@noplace.com> <1087475285.166449@master.nyc.kbcfp.com> <2jlepqF12qbb6U1@uni-berlin.de> NNTP-Posting-Host: l1-hrz.uni-duisburg.de X-Trace: a1-hrz.uni-duisburg.de 1087900730 3170 134.91.1.34 (22 Jun 2004 10:38:50 GMT) X-Complaints-To: usenet@news.uni-duisburg.de NNTP-Posting-Date: Tue, 22 Jun 2004 10:38:50 +0000 (UTC) User-Agent: tin/1.5.8-20010221 ("Blue Water") (UNIX) (HP-UX/B.11.00 (9000/800)) Xref: g2news1.google.com comp.lang.ada:1771 Date: 2004-06-22T10:38:50+00:00 List-Id: Brian May wrote: : : Personally I have very happy with Ada95 the way it is, the only : exception being exception handling which tends to look restrictive now : compared with, say Java exceptions (as functions declare what : exceptions they can raise, and can pass more information in the : exception instead of just a string). If you want to handle an exceptional situation with something more "powerful" than an exception handler, then you might actually be referring to a different notion of exception. If it is more like backtracing, why not use a programming construct that (I think) is closer in spirit to backtracing? If the exception is not what is traditionally called an exception but rather a special program state that is special rather than exceptional in the Ada(?) sense, an exception handler might be at the wrong level of abstraction. Just the same name for two different things. Ada has facilities to implement "trying-out programming". If one (logical) thread of control fails, and it is important to collect information about why it failed and in what program state, than save the relevant pieces of the program state using the executable statements of a local exception handler for example. You can store the information somewhere for lookup, and use Ada's exceptions, or task communication, or plain returned values to inform the caller of the failure or success. The caller can use this information to retrieve what has been stored for lookup.