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,5f260a1d9f0c280c X-Google-Attributes: gid103376,domainid0,public,usenet X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news2.google.com!news2.google.com!eweka.nl!lightspeed.eweka.nl!npeer.de.kpn-eurorings.net!npeer-ng2.kpn.DE!newsfeed.arcor.de!newsspool1.arcor-online.net!news.arcor.de.POSTED!not-for-mail Date: Wed, 27 Aug 2008 11:20:12 +0200 From: Georg Bauhaus User-Agent: Thunderbird 2.0.0.16 (Macintosh/20080707) MIME-Version: 1.0 Newsgroups: comp.lang.ada Subject: Re: Common exception handling References: <88961e92-80a8-4e96-b231-9d67eca0adf5@v26g2000prm.googlegroups.com> <1d1a76fa-a537-4994-9578-7c7604b26ca2@w24g2000prd.googlegroups.com> <3263z19x9l0r.1bbulsb9dbwjm.dlg@40tude.net> <02ecfd28-f2f5-4323-962b-e75706e5a48a@1g2000pre.googlegroups.com> <62aa47f1-5712-4455-8f2d-8fbc65d12871@25g2000hsx.googlegroups.com> In-Reply-To: <62aa47f1-5712-4455-8f2d-8fbc65d12871@25g2000hsx.googlegroups.com> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Message-ID: <48b51c4c$0$20706$9b4e6d93@newsspool4.arcor-online.net> Organization: Arcor NNTP-Posting-Date: 27 Aug 2008 11:20:12 CEST NNTP-Posting-Host: 7c2b4fdf.newsspool4.arcor-online.net X-Trace: DXC=nfIJD\BH3Y2mb Maciej Sobczak schrieb: > On 26 Sie, 21:14, "Dmitry A. Kazakov" > wrote: > >> I wished to have ranges of exceptions > > Hierarchies, not ranges. > > The difference is that entities in the hierarchy can be not only > extended but also specialized and that would nicely fit in the OO part > of the language. Meanwhile, using a nested programming language, we can do type Throwable is tagged private; ... procedure Outer is Fail: exception; package OO_Exception is type Relevant_Info is new Throwable with -- everything needed to known what -- has happened deep down the call chain record ... end record; procedure Prim_Op(Recording: Relevant_Info); end OO_Exception; package body OO_Exception is separate; use OO_Exception; procedure Inner is begin ... end Inner; Scrap_Book: Relevant_Info; begin Inner; exception when Fail => Prim_Op(Scrap_Book); end Outer; -- Georg Bauhaus Y A Time Drain http://www.9toX.de