From: Jerry Gay (via RT) <[EMAIL PROTECTED]>
   Date: Thu, 21 Sep 2006 14:38:40 -0700

   # New Ticket Created by  Jerry Gay 
   # Please include the string:  [perl #40392]
   # in the subject line of all future correspondence about this issue. 
   # <URL: http://rt.perl.org/rt3/Ticket/Display.html?id=40392 >

   parrot's source is littered with internal_exception() calls, the bulk
   (all?) of which should be converted to real_exception() calls.
   internal exceptions are uncatchable, and might as well be called
   C<exit>. that's bad, ya dig?

Waay bad, and wicked hard to debug; this is an excellent cage-cleaning
job.

   But, for the record, there are cases where internal_exception() (aka
"exit") is necessary.  For example, in Continuation:invoke :

            if (! from_ctx->control_stack)
                internal_exception(1, "Control stack damaged");

Since real_exception requires a working control stack, parrot has no
choice but to bail -- and similarly for most places in GC, I'll bet.
Anything that sniffs of corruption is probably best to leave alone,
IMHO.

                                        -- Bob Rogers
                                           http://rgrjr.dyndns.org/

Reply via email to