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

Reply via email to