comp.lang.ada
 help / color / mirror / Atom feed
From: Robert Spooner <rls19@psu.edu>
Subject: Re: In case statment? (was Re: is exception when others => null; smart?)
Date: Wed, 30 Oct 2002 15:34:56 -0500
Date: 2002-10-30T15:34:56-05:00	[thread overview]
Message-ID: <3DC04270.3060505@psu.edu> (raw)
In-Reply-To: apomq3$s6s$1@slb0.atl.mindspring.net

If you avoid using "when others" and a value is added to the enumeration 
type later, the compiler will tell you where _all_ the case statements 
using that enumeration type are so that you can examine them and see 
what changes should be made.  Then you don't have to spend a lot of time 
using the debugger to crawl around in your code finding and fixing the 
parts that don't work right.  There's no guarantee that the default case 
will be correct for a new value, and shifting errors from run time to 
compile time is one of Ada's bigest advantages in my estimation.

Bob

Marin David Condic wrote:
> Well, one excuse for always having a "when others" in a case statement might
> be that you anticipate additions to the enumerated type driving it and you
> want the code to take come appropriate action if it gets a new, unknown
> value.
> 
> If you never use a "when others", you get the advantage that perhaps the
> compiler or runtime will catch inadvertent errors. If you always use "when
> others" you get the advantage of a built in accommodation for a software
> fault. Its an engineering tradeoff so "never" and "always" don't seem to
> really apply. It depends on the nature of the system and the consequences of
> hitting a case statement with a value not covered.

-- 
                             Robert L. Spooner
                      Registered Professional Engineer
                        Associate Research Engineer
                   Intelligent Control Systems Department

          Applied Research Laboratory        Phone: (814) 863-4120
          The Pennsylvania State University  FAX:   (814) 863-7841
          P. O. Box 30
          State College, PA 16804-0030       rls19@psu.edu




  reply	other threads:[~2002-10-30 20:34 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-10-24 14:03 is exception when others => null; smart? Preben Randhol
2002-10-24 14:25 ` David C. Hoos, Sr.
2002-10-24 14:28   ` Preben Randhol
2002-10-24 14:38 ` Per Sandbergs
2002-10-25 15:04   ` Robert A Duff
2002-10-25 20:41     ` Dale Stanbrough
2002-10-26 23:04       ` Robert A Duff
2002-10-26  7:47     ` tmoran
2002-10-24 16:39 ` Mark Biggar
2002-10-24 20:06   ` Robert A Duff
2002-10-24 20:23     ` Wes Groleau
2002-10-25  1:16       ` Jeffrey Carter
2002-10-25 10:10         ` In case statment? (was Re: is exception when others => null; smart?) Preben Randhol
2002-10-25 14:59           ` Robert A Duff
2002-10-25 15:06             ` Preben Randhol
2002-10-29 18:23             ` Peter Richtmyer
2002-10-30  2:52               ` Steven Deller
2002-10-30  8:58               ` Anders Wirzenius
2002-10-30 19:57                 ` Peter Richtmyer
2002-10-31  7:02                   ` Anders Wirzenius
2002-10-30  9:36               ` Lutz Donnerhacke
2002-10-30 19:44                 ` Peter Richtmyer
2002-10-30 13:28               ` Marin David Condic
2002-10-30 20:34                 ` Robert Spooner [this message]
2002-10-31 12:40                   ` In case statment? (was Re: is exception when others => null;smart?) Marin David Condic
2002-10-25 17:13           ` In case statment? <...> when others John Woodruff
2002-10-27 21:03           ` In case statment? (was Re: is exception when others => null; smart?) Ze Administrator
2002-10-28 10:04             ` Preben Randhol
2002-10-28 20:05               ` Wes Groleau
2002-10-30 11:31                 ` Preben Randhol
2002-10-28 12:32             ` In case statment? (was Re: is exception when others => null;smart?) Adrian Hoe
2002-10-24 20:11   ` is exception when others => null; smart? Simon Wright
2002-10-24 21:22     ` Larry Kilgallen
2002-10-24 20:03 ` Robert A Duff
2002-10-25  1:49 ` SteveD
2002-10-25  3:48 ` Dennis Lee Bieber
2002-10-26 11:34   ` Preben Randhol
replies disabled

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