comp.lang.ada
 help / color / mirror / Atom feed
From: Robert A Duff <bobduff@shell01.TheWorld.com>
Subject: Re: ada paper critic
Date: Sat, 15 Jun 2002 22:03:34 GMT
Date: 2002-06-15T22:03:34+00:00	[thread overview]
Message-ID: <wccd6usb3nt.fsf@shell01.TheWorld.com> (raw)
In-Reply-To: 3D0A3B59.4A4B9E04@acm.org

Jeffrey Carter <jrcarter@acm.org> writes:

> This seems to be an incomplete sentence. If I interpret it correctly,
> the Ada intent is that the information be carried primarily by the
> exception name. You should not be using a single exception and
> differentiating between logical exceptions by the information attached
> to that exception.

The problem with this view is that it forces the designer of an
abstraction to decide on the granularity of exception handling, when
this decision rightly belongs in the hands of the person designing the
*handler*.  In fact, different handlers have different requirements:
e.g., one handler might want to handle all I/O errors, whereas another
one might want to handle disk_full_error specially.  If the designer of
the abstraction decided to lump all I/O errors under one exception name,
then the fine-grained handler is impossible to write.  On the other
hand, if the designer of the abstraction defined many exceptions for
different kinds of I/O errors, then the coarse-grained handler has to
mention them all, which is overly verbose, and unmaintainable, because
there might be a new kind of I/O error invented tomorrow.

So the designer of the abstraction is forced into a poor design for
*some* possible clients.  This is not good for reusability.

In many other languages, this problem does not occur, because exceptions
are defined hierarchically.

> Also, exceptions should only be used for exceptional situations, so this
> does not impact normal processing at all.

I don't see how that's relevant.  A bug in exception handling is a bug,
even though exceptions occur only rarely.  (In fact, *all* bugs are rare
-- if the thing crashes within seconds most of the time you run it, the
programmer will notice it and fix it.)

- Bob



  reply	other threads:[~2002-06-15 22:03 UTC|newest]

Thread overview: 135+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-06-14  0:49 ada paper critic Immanuel Scholz
2002-06-14  1:28 ` Immanuel Scholz
2002-06-14  1:43   ` Dale Stanbrough
2002-06-14  4:53     ` David Marceau
2002-06-14  6:40       ` Dale Stanbrough
2002-06-14  6:49       ` Hyman Rosen
2002-06-14 12:18       ` Baugereau
2002-06-14 16:30         ` David Marceau
2002-06-14 17:34           ` Baugereau
2002-06-14 19:01             ` Wes Groleau
2002-06-14 19:43               ` Baugereau
2002-06-15  3:02                 ` Vinzent Hoefler
2002-06-15  9:49                   ` Pascal Obry
2002-06-17 15:53                     ` Dan Andreatta
2002-06-17 18:20                       ` Pascal Obry
2002-06-17 20:56                     ` Michael Bode
2002-06-17 21:18                       ` Pascal Obry
2002-06-16 21:52                   ` Ted Dennison
2002-06-14 20:02     ` Immanuel Scholz
2002-06-14  3:14   ` Ted Dennison
2002-06-14  4:35     ` Dale Stanbrough
2002-06-14  8:05       ` David Marceau
2002-06-14 12:31         ` Dale Stanbrough
2002-06-14 15:08         ` Darren New
2002-06-17  0:17           ` Robert A Duff
2002-06-14 19:05         ` Wes Groleau
2002-06-16  3:34           ` Dale Stanbrough
2002-06-16  3:32         ` Dale Stanbrough
2002-06-14  8:25       ` Dmitry A. Kazakov
2002-06-14 12:19         ` Immanuel Scholz
2002-06-14 14:51           ` Dmitry A. Kazakov
2002-06-14 15:09             ` Darren New
2002-06-16 22:49               ` Dmitry A.Kazakov
2002-06-16 15:07                 ` Jim Rogers
2002-06-17  4:06                   ` Darren New
2002-06-17  4:52                     ` Jim Rogers
2002-06-17  9:45                       ` David Marceau
2002-06-17 15:42                       ` Darren New
2002-06-17  3:59                 ` Darren New
2002-06-17 22:19                   ` Dmitry A.Kazakov
2002-06-14 12:58       ` Larry Kilgallen
2002-06-14 22:16         ` Dale Stanbrough
2002-06-15  1:22           ` Larry Kilgallen
2002-06-15  0:51             ` Dale Stanbrough
2002-06-15 11:49               ` Immanuel Scholz
2002-06-15 21:45             ` Robert A Duff
2002-06-14 14:59       ` Ted Dennison
2002-06-16  3:27         ` Dale Stanbrough
2002-06-16 22:18           ` Wes Groleau
2002-06-16 22:38           ` Ted Dennison
2002-06-14 15:00       ` Ted Dennison
2002-06-14 20:13         ` Wes Groleau
2002-06-14 18:52       ` Jeffrey Carter
2002-06-15 22:03         ` Robert A Duff [this message]
2002-06-16  1:58           ` Jeffrey Carter
2002-06-16  3:19             ` Dale Stanbrough
2002-06-16 22:20         ` Wes Groleau
2002-06-17  1:57           ` Larry Kilgallen
2002-06-17  2:16           ` Jeffrey Carter
2002-06-14 15:25   ` John R. Strohm
2002-06-15  4:05     ` Lyle McKennot
2002-06-17 13:32       ` Marin David Condic
2002-06-15  4:06     ` The 1980 ACM Turing Award Lecture The Emperor's Old Clothes Lyle McKennot
2002-06-15 13:45       ` Ted Dennison
2002-06-15 13:55         ` Ed Falis
2002-06-15 15:03           ` Pat Rogers
2002-06-15 18:42         ` Jeffrey Carter
2002-06-16 22:25         ` Wes Groleau
2002-06-15 18:01       ` Robert I. Eachus
2002-06-16  1:53         ` Hyman Rosen
2002-06-17 20:06           ` Robert I. Eachus
2002-06-17 20:54             ` Hyman Rosen
2002-06-18 14:56               ` Stephen Leake
2002-06-18 17:08                 ` Hyman Rosen
2002-06-16  3:15         ` Lyle McKennot
2002-06-16  3:51           ` Pat Rogers
  -- strict thread matches above, loose matches on Subject: below --
2002-06-14 14:31 ada paper critic Alderson, Paul A.
2002-06-14 15:16 ` Darren New
2002-06-14 15:58 ` Andrew Maizels
2002-06-14 17:00   ` chris.danx
2002-06-14 18:44     ` Jeffrey Carter
2002-06-14 20:26       ` Immanuel Scholz
2002-06-14 22:06         ` Ehud Lamm
2002-06-14 22:01           ` Immanuel Scholz
2002-06-14 22:38             ` sk
2002-06-15 11:28               ` Immanuel Scholz
2002-06-15 18:10                 ` sk
2002-06-15 14:30               ` Ted Dennison
2002-06-15 17:36                 ` sk
2002-06-16  3:08                 ` Gautier
2002-06-16  0:05               ` AG
2002-06-16 21:05                 ` Gautier
2002-06-14 23:10             ` tmoran
2002-06-15 14:19         ` Ted Dennison
2002-06-15 23:04           ` Darren New
2002-06-15 23:38             ` Darren New
2002-06-17 10:56           ` Immanuel Scholz
2002-06-17 19:56             ` Brian Rogoff
2002-06-17 20:47               ` Marin David Condic
2002-06-18 18:10                 ` Brian Rogoff
2002-06-18 18:51                   ` Robert A Duff
2002-06-18 19:08                     ` Hyman Rosen
2002-06-18 20:47                       ` Robert A Duff
2002-06-19  5:28                 ` Robert I. Eachus
2002-06-18 14:01               ` Robert A Duff
2002-06-14 20:58 ` Ted Dennison
2002-06-14 21:30   ` Immanuel Scholz
2002-06-15  1:24     ` Larry Kilgallen
2002-06-15  3:02 ` Vinzent Hoefler
2002-06-15 21:54 ` AG
2002-06-14 19:42 Gautier no_direct_reply_please
2002-06-15 15:08 ` Simon Wright
2002-06-15 22:52 ` Robert A Duff
2002-06-16  0:38   ` AG
2002-06-17 14:15     ` Marin David Condic
2002-06-18 13:52       ` Robert A Duff
2002-06-18 15:41         ` Darren New
2002-06-18 18:04         ` Jeffrey Carter
2002-06-19  1:04           ` Rod Haper
2002-06-16 22:19   ` Ted Dennison
2002-06-16 23:02     ` Robert A Duff
2002-06-17  7:07       ` Kevin Cline
2002-06-18 20:54         ` Robert A Duff
2002-06-18 22:15           ` Larry Kilgallen
2002-06-14 20:06 Gautier no_direct_reply_please
2002-06-14 20:48 ` Baugereau
2002-06-15 14:38   ` Ted Dennison
2002-06-14 20:36 Beard, Frank [Contractor]
2002-06-14 21:34 ` Immanuel Scholz
2002-06-15  4:14   ` Lyle McKennot
2002-06-14 22:08 Beard, Frank [Contractor]
2002-06-14 22:18 Beard, Frank [Contractor]
2002-06-15  1:38 ` Jeffrey Carter
2002-06-14 22:28 Gautier direct_replies_not_read
2002-06-15 14:43 ` Ted Dennison
replies disabled

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