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=0.7 required=5.0 tests=BAYES_00,MSGID_RANDY autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,ae3917578e081022 X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2000-10-28 04:00:06 PST Path: supernews.google.com!sn-xit-02!sn-xit-01!supernews.com!newsfeed.stanford.edu!xfer10.netnews.com!netnews.com!news.maxwell.syr.edu!nntp2.deja.com!nnrp1.deja.com!not-for-mail From: Robert Dewar Newsgroups: comp.lang.ada Subject: Re: workshop on Exception Handling for a 21st Century Programming Language Date: Sat, 28 Oct 2000 10:49:23 GMT Organization: Deja.com - Before you buy. Message-ID: <8teavj$dpr$1@nnrp1.deja.com> References: <8ss9v5$73c$1@nnrp1.deja.com> NNTP-Posting-Host: 205.232.38.240 X-Article-Creation-Date: Sat Oct 28 10:49:23 2000 GMT X-Http-User-Agent: Mozilla/4.61 [en] (OS/2; I) X-Http-Proxy: 1.0 x70.deja.com:80 (Squid/1.1.22) for client 205.232.38.240 X-MyDeja-Info: XMYDJUIDrobert_dewar Xref: supernews.google.com comp.lang.ada:1605 Date: 2000-10-28T10:49:23+00:00 List-Id: In article , Robert A Duff wrote: > Right, but only for *serious* error handling. For run-of-the-mill > desk-top non-embedded programs, killing the program might be just fine. > After all, that's the default behavior you get when you don't have tasks > (by "default" I mean "no handlers"). Probably we should have fixed this in Ada 95. I wonder if there is any other program in the world other than junk ACVC tests that relies on tasks silently going away on an exception. It would have been a VERY mild change to the language, and definitely beneficial. I rememeber one of the hardest bugs we dealt with in Ada Ed was a case where an In-Out parameter was uninitialized, and Ada Ed of course detected all cases of uninitialized parameters (it was one of those cases where the parameter was not touched by the function, but from a semantic point of view, the uninitialized value was still read and written back). Ada/Ed thus raised Program_Error on the call. This caused the task to die with an unhandled exception, which caused other tasks to die silently in a cascade of tasking_error exceptions, and finally, with no tasks left, the main program failed. Very nasty to debug :-) That was the point at which we added an option to output messages when a task dies from an unhandled exception. We are actually making this the default behavior for GNAT. It is not even clear that it is improper to generate such messages (the RM says that Text_IO can cause messages to appear on standard_Error, but it is not clear that it forbids other warnings to appear there ... Sent via Deja.com http://www.deja.com/ Before you buy.