Lists Home |
Date Index |
- From: "A. G. McDowell" <email@example.com>
- To: firstname.lastname@example.org
- Date: Thu, 21 Oct 1999 00:07:41 +0100
In article <199910191740.NAA20238@locke.ccil.org>, John Cowan
>It is no accident that C++ and Java have termination semantics only
>for their exceptions. Unfortunately I cannot find a citation to this
>story, but it is instructive.
The Design and Evolution of C++
Bjarne Stroustrup, published by Addison Wesley, ISBN 0-201-54330-3
Section 16.6, P.390-393 in my copy
There is also a two-line summary of Cedar/Mesa experience, which was
apparently repeated in two large IBM projects, and was supported by many
termination is preferred over resumption; this is not a matter of
opinion but a matter of years of experience. Resumption is seductive,
but not valid.
The suggested alternative to resumption makes most sense in the context
of resource acquisition. Sacrificing rigor for brevity:
while((resource = acquire()) != null) callback();
The callback should either release some more resource or throw a
(terminating) exception, so you exit the loop either normally, with the
resource, or via the exception.
I was amused by the following section:
... Martin O'Riordan reported that "Microsoft had several years of
positive experience with resumable exception handling", but the absence
of specific examples and doubts about the value of OS/2 Release 1 as a
proof of technical soundness weakened his case.
I have no experience of OS/2 Release anything, and so cannot comment.
Perhaps somebody out there can tell us if later releases evolved away
from resumable exceptions.
A. G. McDowell
xml-dev: A list for W3C XML Developers. To post, mailto:email@example.com
Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/ and on CD-ROM/ISBN 981-02-3594-1
To unsubscribe, mailto:firstname.lastname@example.org the following message;
To subscribe to the digests, mailto:email@example.com the following message;
List coordinator, Henry Rzepa (mailto:firstname.lastname@example.org)