Author: audreyt
Date: Tue Jul 25 14:37:31 2006
New Revision: 10470

Modified:
   doc/trunk/design/syn/S04.pod

Log:
* S04: CATCH block - grammar and text fix, prompted by gaal++.

Modified: doc/trunk/design/syn/S04.pod
==============================================================================
--- doc/trunk/design/syn/S04.pod        (original)
+++ doc/trunk/design/syn/S04.pod        Tue Jul 25 14:37:31 2006
@@ -36,7 +36,7 @@
 are three ways to declare formal parameters to a closure.
 
     $func = sub ($a, $b) { print if $a eq $b };  # standard sub declaration
-    $func = -> $a, $b { print if $a eq $b };     # a "pointy" sub
+    $func = -> $a, $b { print if $a eq $b };     # a "pointy" block
     $func = { print if $^a eq $^b }              # placeholder arguments
 
 A bare closure without placeholder arguments that uses C<$_>
@@ -456,10 +456,9 @@
 of the C<CATCH> block.  Handled exceptions break out past this implicit
 rethrow.)
 
-A C<CATCH> block sees the lexical scope in which it defined, but the
-dynamic scope in which it is called, that is, as if it were called
-from the dynamic location that threw the exception.  That is, the
-stack is not unwound until some exception handler chooses to
+A C<CATCH> block sees the lexical scope in which it was defined, but
+its caller is the dynamic location that threw the exception.  That is,
+the stack is not unwound until some exception handler chooses to
 unwind it by "handling" the exception in question.  So logically,
 if the C<CATCH> block throws its own exception, you would expect the
 C<CATCH> block to catch its own exception recursively forever.  However,
@@ -495,7 +494,7 @@
 return from it.  You may only leave the closure block itself with C<leave>
 or by falling off the end of it.
 
-To return a value from a pointy sub or bare closure, you either
+To return a value from a pointy block or bare closure, you either
 just let the block return the value of its final expression, or you can
 use C<leave>.  A C<leave> by default exits from the innermost block.
 But you may change the behavior of C<leave> with selector adverbs:

Reply via email to