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,FREEMAIL_FROM autolearn=unavailable autolearn_force=no version=3.4.4 X-Received: by 10.236.230.73 with SMTP id i69mr36558600yhq.27.1417096407148; Thu, 27 Nov 2014 05:53:27 -0800 (PST) X-Received: by 10.140.98.72 with SMTP id n66mr1941qge.29.1417096407132; Thu, 27 Nov 2014 05:53:27 -0800 (PST) Path: eternal-september.org!reader01.eternal-september.org!reader02.eternal-september.org!news.eternal-september.org!mx02.eternal-september.org!feeder.eternal-september.org!usenet.blueworldhosting.com!feeder01.blueworldhosting.com!peer02.iad.highwinds-media.com!news.highwinds-media.com!feed-me.highwinds-media.com!s7no2257954qap.1!news-out.google.com!m4ni588qag.1!nntp.google.com!s7no2257953qap.1!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail Newsgroups: comp.lang.ada Date: Thu, 27 Nov 2014 05:53:27 -0800 (PST) In-Reply-To: <1ukyfvaqgkwo1.6ngfx1v21twz$.dlg@40tude.net> Complaints-To: groups-abuse@google.com Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=24.197.113.215; posting-account=Ies7ywoAAACcdHZMiIRy0M84lcJvfxwg NNTP-Posting-Host: 24.197.113.215 References: <969708583438656051.436159nonlegitur-futureapps.invalid@reader80.eternal-september.org> <0d085a5a-d4ac-4506-ae5f-8da685f39004@googlegroups.com> <1ukyfvaqgkwo1.6ngfx1v21twz$.dlg@40tude.net> User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: Subject: Re: How to get nice with GNAT? From: brbarkstrom@gmail.com Injection-Date: Thu, 27 Nov 2014 13:53:27 +0000 Content-Type: text/plain; charset=ISO-8859-1 X-Received-Bytes: 2894 X-Received-Body-CRC: 408020388 Xref: news.eternal-september.org comp.lang.ada:23765 Date: 2014-11-27T05:53:27-08:00 List-Id: On Thursday, November 27, 2014 4:01:19 AM UTC-5, Dmitry A. Kazakov wrote: > On Wed, 26 Nov 2014 14:38:29 -0800 (PST), brbarkstrom wrote: > > > I think it may be sensible to think of exceptions as contingent events > > that we couldn't include in the original design because > > a) we aren't omniscient > > [as a subset of that] a1) we're building complex mechanisms that have > > unexpected interactions between the parts > > ? > > > b) the environment in which the program operates changes in unpredictable > > ways > > As a result, we are nearly certain to discover unexpected events only after > > we put the system into operation. > > No. Exceptions are *expected* events (system states), always. > > An unexpected event is when a nuke falls down on the system box. Bugs are > unexpected events. > > Exception propagation is not a bug. It is a valid and anticipated system > state. Compare it with 2x3 computed as 5 because addition was used instead > of multiplication. This is also a bug, but there is nothing vicious in > addition per se. > > -- > Regards, > Dmitry A. Kazakov Sure, but often enough we add in exceptions after having to respond to an unexpected event. The addition of the exception comes in maintenance, rather than as result of the design work. Of course, sometimes we've had enough experience with previous errors to put the exception in as part of the design. Thanks for the clarification. Bruce B.