From: jsa@alexandria.organon.com (Jon S Anthony)
Subject: Re: Building blocks (Was: Design By Contract)
Date: 1997/09/19
Date: 1997-09-19T00:00:00+00:00 [thread overview]
Message-ID: <JSA.97Sep19164111@alexandria.organon.com> (raw)
In-Reply-To: 3421E190.49CC@chimu.com
In article <3421E190.49CC@chimu.com> "Mark L. Fussell" <mark.fussell@chimu.com> writes:
> is
> -- The Eiffel version of the above
> local
> attempts : INTEGER -- FYI: initializes attempts to 0
> do
> if attempts = 0 then
> -- do main stuff
> else
> -- do nothing
> end
> rescue
> attempts := attempts + 1
> retry
> end
> Most of the difference between the Eiffel and Ada approach is really
> "what it feels like" in the exception handler.
That sounds "right" to me.
> Eiffel's exception handler give you a chance to retry the main body
> which can than do what ever it wants (within its contract), but in
> so doing returns you to thinking about how to satisfy the routine
> call. The Ada (and many other languages) approach allows you to try
> to both recover from the exception and satisfy the routine call in
> one place. This may lead you to forget to do one or both of these
> responsibilities.
Is the Eiffel approach really conceptually different from a recursive
"retry" (where the Eiffel retry is basically a structured goto the
beginning of the current invocation)? For example,
procedure P (.... Attempts : Natural := 0) is
...
if Attempts = 0 then
-- do main stuff
else
-- do nothing
end;
exception
when others => -- (or more specific exception...)
P(....Attempts+1)
...
end P;
/Jon
--
Jon Anthony
STL, Belmont, MA 02178, 617.484.3383
"Nightmares - Ha! The way my life's been going lately,
Who'd notice?" -- Londo Mollari
next prev parent reply other threads:[~1997-09-19 0:00 UTC|newest]
Thread overview: 74+ messages / expand[flat|nested] mbox.gz Atom feed top
1997-09-09 0:00 Building blocks (Was: Design By Contract) Marc Wachowitz
1997-09-15 0:00 ` Joachim Durchholz
1997-09-17 0:00 ` Paul Johnson
1997-09-18 0:00 ` Jon S Anthony
1997-09-18 0:00 ` Stephen Leake
1997-09-18 0:00 ` Mark L. Fussell
[not found] ` <11861963wnr@eiffel.demon.co.uk>
1997-09-19 0:00 ` Mark L. Fussell
1997-09-19 0:00 ` Robert A Duff
1997-09-20 0:00 ` Joachim Durchholz
1997-09-22 0:00 ` Matthew Heaney
1997-09-23 0:00 ` Joachim Durchholz
1997-09-23 0:00 ` Veli-Pekka Nousiainen
1997-10-03 0:00 ` Robert I. Eachus
1997-10-04 0:00 ` Paul Johnson
1997-10-14 0:00 ` Robert I. Eachus
1997-09-23 0:00 ` Jon S Anthony
1997-09-24 0:00 ` Richard A. O'Keefe
1997-09-24 0:00 ` Alan E & Carmel J Brain
1997-09-25 0:00 ` Anonymous
1997-09-30 0:00 ` Alan E & Carmel J Brain
1997-09-30 0:00 ` Matthew Heaney
1997-09-30 0:00 ` Neil Wilson
1997-09-30 0:00 ` Stephen Leake
1997-09-30 0:00 ` W. Wesley Groleau x4923
1997-09-30 0:00 ` Matthew Heaney
1997-10-01 0:00 ` Alan E & Carmel J Brain
1997-10-01 0:00 ` Anonymous
1997-10-01 0:00 ` Paul M Gover
1997-10-04 0:00 ` Paul Johnson
1997-10-04 0:00 ` Matthew Heaney
1997-10-15 0:00 ` Paul Johnson
1997-10-15 0:00 ` Matthew Heaney
1997-10-16 0:00 ` Joachim Durchholz
1997-10-17 0:00 ` Robert I. Eachus
1997-10-16 0:00 ` Joachim Durchholz
1997-10-22 0:00 ` Reimer Behrends
1997-10-01 0:00 ` Joachim Durchholz
1997-10-02 0:00 ` Robert A Duff
1997-10-02 0:00 ` Tucker Taft
1997-10-02 0:00 ` Matthew Heaney
1997-10-03 0:00 ` Stephen Leake
1997-10-04 0:00 ` Matthew Heaney
1997-10-07 0:00 ` Robert A Duff
1997-09-19 0:00 ` Jon S Anthony [this message]
1997-09-23 0:00 ` Mark L. Fussell
1997-09-18 0:00 ` W. Wesley Groleau x4923
1997-09-21 0:00 ` Matthew Heaney
1997-09-18 0:00 ` Robert Dewar
-- strict thread matches above, loose matches on Subject: below --
1997-09-11 0:00 Robert Dewar
1997-09-09 0:00 Marc Wachowitz
1997-09-02 0:00 Design By Contract Jon S Anthony
[not found] ` <JSA.97Sep3201329@alexandria.organon.com>
1997-09-04 0:00 ` Paul Johnson
[not found] ` <5un58u$9ih$1@gonzo.sun3.iaf.nl>
1997-09-06 0:00 ` Building blocks (Was: Design By Contract) Joachim Durchholz
1997-09-08 0:00 ` Paul Johnson
1997-09-08 0:00 ` Brian Rogoff
1997-09-09 0:00 ` W. Wesley Groleau x4923
1997-09-09 0:00 ` Matthew Heaney
1997-09-09 0:00 ` Brian Rogoff
1997-09-09 0:00 ` W. Wesley Groleau x4923
1997-09-10 0:00 ` Robert A Duff
1997-09-12 0:00 ` Jon S Anthony
1997-09-10 0:00 ` Robert Dewar
1997-09-12 0:00 ` Jon S Anthony
1997-09-12 0:00 ` Robert Dewar
1997-09-16 0:00 ` Brian Rogoff
1997-09-12 0:00 ` Paul Johnson
1997-09-14 0:00 ` Robert Dewar
1997-09-15 0:00 ` John G. Volan
1997-09-14 0:00 ` Robert Dewar
1997-09-14 0:00 ` Robert Dewar
1997-09-10 0:00 ` Paul Johnson
1997-09-10 0:00 ` Darren New
1997-09-10 0:00 ` Matthew Heaney
1997-09-09 0:00 ` Veli-Pekka Nousiainen
1997-09-09 0:00 ` Veli-Pekka Nousiainen
1997-09-09 0:00 ` Jon S Anthony
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox