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