LocalJumpError

スコープを出てしまった Proc からの return, break, next, redo, retry で発生します。

Proc の例を参照してください。

スーパークラス:

メソッド

exitstatus ((<ruby 1.7 feature>))

例外 LocalJumpError を発生させた break や return に指定した 戻り値を返します。

def foo
  proc { return 10 }
end

begin
  foo.call
rescue LocalJumpError
  p $!.exitstatus
end

=> ruby 1.7.2 (2002-02-14) [i586-linux]
   10

pr = proc { break 5 }

def bar(&pr)
    pr.yield
end

begin
  bar(&pr)
rescue LocalJumpError
  p $!.exitstatus
end
=> ruby 1.7.2 (2002-02-14) [i586-linux]
   5