Article View: comp.std.c++
Article #3102Re: Throwing an exception from within a si
From: Dick Menninger
Date: Wed, 24 Jan 1996 19:36
Date: Wed, 24 Jan 1996 19:36
64 lines
3698 bytes
3698 bytes
> ==========Steve Clamage, 1/22/96========== > In article 8k8@galaxy.ucr.edu, thp@cs.ucr.edu (Tom Payne) writes: > >Steve Clamage (clamage@Eng.Sun.COM) wrote: > >: What we put in the language standard is binding on all > implementations. We > >: try to specify things that can be implemented efficiently on > any likely > >: system. In addition, we try to specify features so that they > have no cost > >: (or nearly no cost) if you don't use them. IMHO, guarantees > about what you > >Agreed!! > >: can do in an asynchronous signal handler don't meet those criteria for > >: inclusion in the C++ standard. > >That's a rather broad conclusion, given the discussion so far. > I don't agree. If you have control over the entire environment, you can > make more guarantees about behavior. For example, Ada implementations > have extensive requirements on what they must support. If a platform > cannot reasonably meet those requirements, you aren't going to find an > Ada implementation which is both conforming and useful. > C++, on the other hand, is intended to be dropped into (nearly) > any existing > platform and coexist with other languages on that platform. The language > definition attempts to stay away from areas where common platforms have > widely differing behavior for that reason. Asynchronous signal handling > certainly varies widely among platforms. > > It's easy to wave your hands and say that the implementation ought to > be relatively easy to do and not overly expensive. But what if the ABI > on a common platform makes that infeasible? If a language feature > limits the number of platforms which allow implementation, it should be > important to a wide range of programmers and programs. It is important for asynchronous threads that may interrupt other threads (signal handlers, interrupt handlers, ...) to be able to use the same exception semantics that any thread would use. Else you must define two sets of C++ behavior and STL, new, etc., must all work in both. You made exceptions part of the language, but they still seem to be second class citizens. Until they are made first class citizens, you will continue to have a lot of arguing about inherent problems of them being second class. This is just one case where trying to limit the standard to ALL potential environments seems to be hurting the thinking and the language. I suspect that essentially all environments can actually do something sensible. If a few cannot, they should be exceptional, in that area, to the standard. Good Day Dick Dick.Menninger@DaytonOH.ATTGIS.COM --- [ comp.std.c++ is moderated. Submission address: std-c++@ncar.ucar.edu. Contact address: std-c++-request@ncar.ucar.edu. The moderation policy is summarized in http://dogbert.lbl.gov/~matt/std-c++/policy.html. ]
Technical Details
Message-ID:
<DLp9Ez.796@falcon.daytonoh.attgis.com>Path:
arc1-ca.pugleaf.net!fido.asd.sgi.com!austernReferences:
<4e0moi$4dp@engnews1.Eng.Sun.COM>Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!fido.asd.sgi.com!austern From: Dick Menninger <Dick.Menninger@daytonoh.attgis.com> Newsgroups: comp.std.c++ Subject: Re: Throwing an exception from within a si Date: 24 Jan 1996 11:36:13 PST Organization: AT&T Global Information Solutions Approved: austern@isolde.mti.sgi.com Message-ID: <DLp9Ez.796@falcon.daytonoh.attgis.com> References: <4e0moi$4dp@engnews1.Eng.Sun.COM> Reply-To: mennid <Dick.Menninger@daytonoh.attgis.com> NNTP-Posting-Host: isolde.mti.sgi.com X-Original-Date: Wed, 24 Jan 1996 19:13:47 GMT X-Newsreader: DiscussIT 2.5.1.3 for MS Windows [AT&T Software Products Division] X-Auth: PGPMoose V1.1 PGP comp.std.c++ iQBVAwUBMQaKP0y4NqrwXLNJAQEwLgH/Zek/QbNk2aVB3uPwbpAdpXbGvz/Gvqrn s5OHj3SE2dNfLiRcixufR+o/Hn5AP+zdI9X1jvVgOb5GGa0pwFj8Qw== =S/QG Originator: austern@isolde.mti.sgi.com