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