若在超出作用域的Proc中使用return,break,retry时,就会引发该异常.
请参考Proc的例子.
exit_value ((<ruby 1.8 特性>))返回引发LocalJumpError异常的break或return的指定返回值.
def foo
proc { return 10 }
end
begin
foo.call
rescue LocalJumpError
p $!
p $!.reason
p $!.exit_value
end
=> ruby 1.8.0 (2003-06-09) [i586-linux]
#<LocalJumpError: return from block-closure>
:return
10
begin
Block.new { break 5 }.call
rescue LocalJumpError
p $!
p $!.reason
p $!.exit_value
end
=> ruby 1.8.0 (2003-06-09) [i586-linux]
#<LocalJumpError: break from block-closure>
:break
5
reason ((<ruby 1.8 特性>))以符号的形式返回引发异常的原因. 返回值是下列之一:
请参考exit_value的例子.