On Fri Apr 02 04:42:43 2010, masak wrote:
> <masak> rakudo: die "A"; CATCH { say "OH HAI" }; CATCH { say "OH NOES"
> }
> <p6eval> rakudo 63ff06: OUTPUT«OH HAI␤»
> <masak> std: die "A"; CATCH { say "OH HAI" }; CATCH { say "OH NOES" }
> <p6eval> std 30265: OUTPUT«ok 00:01 106m␤»
> <masak> what actually *does* happen when you have two CATCH blocks in
> a scope?
> <masak> S04 only says that it's disallowed.
> <masak> should it be a compile-time error?
> * moritz_ hopes so
> * masak submits rakuodbug
> 
> S04: "Apart from C<CATCH> and C<CONTROL>, which can only occur once,
> most of these can occur multiple times within the block."
> 
> Just like moritz, I think I'd expect a compile-time error from this.

And now you can haz.

20:52 < [Coke]> rakudo: die "A"; CATCH { say "OH HAI" }; CATCH { say "OH NOES" }
20:52 <+p6eval> rakudo 545638: OUTPUT«===SORRY!===␤only one CATCH block allowed 
                at line 1, near ""␤»
20:52 < [Coke]> rakudo: die "A"; CONTROL { say "OH HAI" }; CONTROL { say "OH 
                NOES" }
20:52 <+p6eval> rakudo 545638: OUTPUT«===SORRY!===␤only one CONTROL block 
                allowed at line 1, near ""␤»

Just needs tests.
-- 
Will "Coke" Coleda

Reply via email to