Glenn Linderman wrote:
>
> These three recent postings expressing ways to implement the
> differences between RFC 119 and RFC 88 are encouraging. With a
> bit of syntactic sugar, it looks like RFC 88 can be made to handle
> all the cases I care about. Now if you'd just get rid of that
> "try"... or make it optional! Or else make it useful!
Ahh, try. Well, RFC 88 says:
"The Encyclopedia of Software Engineering" [ESE-1994] says:
Among the features offered by programming languages to
support exception handling are the following.
1. The ability to distinguish the normal control flow from
the exception handling flow to make the structure of the
program clear.
[...]
Most early programming languages do not provide specific
features for exception handling, but rather use the normal
constructs to implement it. [...] Obviously this and other
ad hoc methods to not satisfy the requirements listed above.
Not explicitly saying try is "using the normal constructs" to do
exception handling. I have another half-dozen reference books, the
titles of which all match /software/ && /architecture|engineering/,
that all agree with this. Worse, I've found this advice to be
practical, in practice.
RFC 88 also says:
The "try" is not for Perl's sake. It's for the developer's
sake. It says, watch out, some sort of non-local flow control
is going on here. It signals intent to deal with action at a
distance (unwinding semantics). It satisfies the first rule
listed under L<MOTIVATION>.
So there you have it. Try is not for Perl. Try is for You.
Yours, &c, Tony Olekshy