From: Robert A Duff <bobduff@shell01.TheWorld.com>
Subject: Re: is exception when others => null; smart?
Date: Fri, 25 Oct 2002 15:04:48 GMT
Date: 2002-10-25T15:04:48+00:00 [thread overview]
Message-ID: <wcclm4mk19r.fsf@shell01.TheWorld.com> (raw)
In-Reply-To: tBTt9.1279$13.184@news1.bredband.com
"Per Sandbergs" <prsa@cntw.com> writes:
> 1)
> main_loop:
> loop
> begin
> lots of operations.
> exception
> when others =>
> report the error and reset top a safe state in order to continue.
> end loop;
>
> 2)
> function work_is_ok(fool) return boolean is
> begin
> some computations
> exception --
> when others =>
> return false; -- or report error and eventualt raise.
> end;
> 2)
> procedure must_not_raie(fool) is
> begin
> some computations
> exception
> when others =>
> null;
> end;
> So when others => null is only to be used when you are expecting the
> unexpected.
> I wont be supprised if other peoplen are of different opinion but after
> integration a number of large systems i find the above aproach "wise".
Also,
4)
when others =>
clean up;
raise;
As in:
procedure Walk_Tree(...) is
begin
Push current node on stack;
walk subtrees;
Pop stack;
exception
when others =>
Pop stack; -- Keep stack in synch even in case of exception.
raise;
end Walk_Tree;
Finalization can also be used for this purpose, and that's a cleaner way
to do it, but finalization is *very* expensive in most Ada compilers,
whereas the above "when others" is pretty cheap.
- Bob
next prev parent reply other threads:[~2002-10-25 15:04 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 [this message]
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
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