Author: lwall
Date: 2010-07-15 01:53:05 +0200 (Thu, 15 Jul 2010)
New Revision: 31691

Modified:
   docs/Perl6/Spec/S04-control.pod
Log:
[S04] more bombastic utterances about not dropping pending exceptions


Modified: docs/Perl6/Spec/S04-control.pod
===================================================================
--- docs/Perl6/Spec/S04-control.pod     2010-07-14 23:32:07 UTC (rev 31690)
+++ docs/Perl6/Spec/S04-control.pod     2010-07-14 23:53:05 UTC (rev 31691)
@@ -1043,6 +1043,16 @@
 never attempts to handle any exception thrown within its own dynamic scope.
 (Otherwise any C<die> would cause an infinite loop.)
 
+Any attempt to throw a fatal exception past an already active exception
+handler must guarantee to steal the existing fatal exception (plus
+any pending exceptions it contains) and add all those to the new
+exception's pending list.  (This does not apply to control exceptions
+described in the next section.)  When the new exception is handled,
+it must also deal with the list of pending exceptions, or the C<wrap-die>
+mentioned above will throw a "Pending exceptions not handled" at that point.
+Even this does not discard the pending exceptions, so in the final outermost
+message, all non-handled exceptions are guaranteed to be listed.
+
 =head1 Control Exceptions
 
 All abnormal control flow is, in the general case, handled by the

Reply via email to