LocalJumpError

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

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

スーパークラス:

メソッド

exit_value ((<ruby 1.8 feature>))

例外 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 feature>))

例外を発生させた原因をシンボルで返します。返す値は、

  • :break
  • :redo
  • :retry
  • :next
  • :return

のいずれかです。exit_value の例を参照してください。


アルバイトをお探しならアルバイトスタイルへ。アルバイトを探したい方、アルバイトを探している方は必見です。
NPO法人をこれから設立したいとお考えなら自分で設立するNPO法人へ。都道府県ごとのNPO法人設立情報などを提供。NPO法人証明書も発行
株式会社をこれから設立したいとお考えなら会社設立webへ。都道府県ごとの会社設立専門家を紹介しております。


rubyist ML