comp.lang.ada
 help / color / mirror / Atom feed
From: Robert A Duff <bobduff@world.std.com>
Subject: Re: Help Me Please :)
Date: 2000/03/17
Date: 2000-03-17T00:00:00+00:00	[thread overview]
Message-ID: <wccog8dqvk6.fsf@world.std.com> (raw)
In-Reply-To: 89rlvr$gn9$1@nntp3.atl.mindspring.net

Richard D Riehle <laoXhai@ix.netcom.com> writes:

> In some languages, exceptions are first class objects.  Ada exceptions are
> not first class objects for very good reasons.
                              ^^^^^^^^^^^^^^^^^

I beg to differ.  I think this is one of the few cases where those other
languages got it right, and Ada got it wrong.

If you want strings, Ada.Exceptions works OK (although it's annoying to
have "exceptions" and "Exception_Ids", which are both essentially
representations of the same concept).  If you want to attach some other
type of data to an exception, you're stuck with several poor
alternatives: You could encode that data as a String, but then you lose
type checking -- the declaration of an exception ought to declare the
type of attached data, forming a compile-time-checkable contract between
the raise point and the handler point.  Or you could store the
information in a global, but then you lose task safety, and there are
issues of exactly when that global data is valid.  Etc.

- Bob




  parent reply	other threads:[~2000-03-17  0:00 UTC|newest]

Thread overview: 54+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2000-02-29  0:00 Help Me Please :) Will Mann
2000-03-01  0:00 ` Robert Dewar
2000-03-03  0:00   ` Florian Weimer
     [not found]     ` <2000Mar3.183321.69279@ludens>
2000-03-03  0:00       ` Larry Kilgallen
2000-03-04  0:00       ` Robert Dewar
2000-03-03  0:00     ` tmoran
2000-03-04  0:00       ` Richard D Riehle
2000-03-05  0:00         ` Steve Arnold
2000-03-17  0:00         ` Robert A Duff [this message]
2000-03-18  0:00           ` Richard D Riehle
2000-03-18  0:00           ` James S. Rogers
2000-03-19  0:00             ` Robert A Duff
2000-03-20  0:00               ` Brian Rogoff
2000-03-20  0:00                 ` Tucker Taft
2000-03-20  0:00           ` Florian Weimer
2000-03-22  0:00           ` Mats Weber
2000-03-27  0:00             ` Robert A Duff
2000-03-27  0:00               ` Hyman Rosen
2000-03-28  0:00               ` reason67
2000-03-28  0:00                 ` Robert Dewar
2000-03-29  0:00                   ` reason67
2000-03-29  0:00                   ` Simon Wright
2000-04-06  0:00                   ` Simon Pilgrim
2000-04-07  0:00                     ` Robert Dewar
2000-04-10  0:00                       ` r_c_chapman
2000-03-28  0:00               ` Robert Dewar
2000-03-30  0:00                 ` Mats Weber
2000-04-06  0:00                   ` Exceptions (was: " Wes Groleau
2000-04-07  0:00                     ` Mats Weber
2000-03-29  0:00               ` Richard D Riehle
2000-03-29  0:00                 ` Robert Dewar
2000-03-31  0:00                   ` Richard D Riehle
2000-03-31  0:00                     ` Jean-Pierre Rosen
2000-03-31  0:00                       ` Pascal Obry
2000-03-30  0:00                 ` Mats Weber
2000-03-31  0:00                   ` Richard D Riehle
2000-04-06  0:00                 ` Wes Groleau
2000-03-30  0:00               ` Mats Weber
2000-03-30  0:00               ` Tucker Taft
  -- strict thread matches above, loose matches on Subject: below --
2000-02-29  0:00 Will Mann
2000-02-29  0:00 ` Stanley R. Allen
2000-02-29  0:00   ` Al Johnston
2000-03-01  0:00     ` Robert Dewar
2000-03-01  0:00     ` Stanley R. Allen
2000-03-01  0:00     ` Robert Dewar
2000-03-01  0:00       ` Al Johnston
2000-03-01  0:00     ` tmoran
2000-03-01  0:00       ` Al Johnston
2000-03-02  0:00       ` Aidan Skinner
2000-03-01  0:00 ` James Bean
2000-03-01  0:00 ` tmoran
     [not found] <df481109.0106140310.5d923746@posting.google.com>
     [not found] ` <9gb1uu$87u7o$1@ID-52877.news.dfncis.de>
2001-06-19  2:59   ` help me please! Ken Garlington
2001-06-16 10:20     ` C.D.Damron
2001-06-20  6:06     ` John Keeney
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox