Author: Kodi Date: 2009-09-24 13:31:01 +0200 (Thu, 24 Sep 2009) New Revision: 28391
Modified: docs/Perl6/Spec/S04-control.pod Log: [S04] Made CATCH's special treatment of default blocks, which is already implied by the spec, more explicit. Modified: docs/Perl6/Spec/S04-control.pod =================================================================== --- docs/Perl6/Spec/S04-control.pod 2009-09-23 20:06:51 UTC (rev 28390) +++ docs/Perl6/Spec/S04-control.pod 2009-09-24 11:31:01 UTC (rev 28391) @@ -887,7 +887,9 @@ To ignore all unhandled exceptions, use an empty C<default> case. (In other words, there is an implicit C<die $!> just inside the end of the C<CATCH> block. Handled exceptions break out past this implicit -rethrow.) +rethrow.) Hence, C<CATCH> is unlike all other switch statements in that +it treats code inside a C<default> block differently from code that's after +all the C<when> blocks but not in a C<default> block. 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,