Project

General

Profile

Bug #10775

Updated by nobu (Nobuyoshi Nakada) over 9 years ago

"break" from a block with nested begin-rescue became impossible. 

 Example(it is valid on Ruby 2.2.0, 2.1.5): 

 ~~~ruby ~~~ 
 2.times do 
   begin 
     raise 
   rescue 
     begin 
       raise 
     rescue 
       break 
     end 
   end 
 end 
 ~~~ 

 Output:  

 ~~~ 
 test.rb:8:in `rescue in rescue in block in <main>': break from proc-closure (LocalJumpError) 
	 from test.rb:5:in `rescue in block in <main>' 
	 from test.rb:2:in `block in <main>' 
	 from test.rb:1:in `each' 
	 from test.rb:1:in `<main>' 
 ~~~ 

 I wrote test and fix on GitHub. Please see the [pull request](https://github.com/ruby/ruby/pull/820).

Back