From: Charles Oliver Nutter Date: 2008-01-03T07:33:14+09:00 Subject: Re: Inconsistency in rescuability of "return" Charles Oliver Nutter wrote: > Why do these operations have different behavior in each case? Also with eval, which seems even more confusing since eval ends up behaving differently depending on where it's called: begin eval 'break' rescue puts 'here' end # output: 'here' while true begin eval 'break' rescue puts 'here' end end # no output, loop terminates So somehow break and next and so on not only change their behavior when inside a loop, they change their behavior if inside an eval that's inside a loop? And eval is not a keyword, so this is changing behavior across a method call as well. - Charlie