# LocalJumpError

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

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

## スーパークラス:

- StandardError

## メソッド

`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 の例を参照してください。

links: [LocalJumpError] [Proc] [StandardError] [制御構造]
reverse links: [1.6.8から1.8.0への変更点(まとめ)] [Proc] [ruby 1.8 feature] [メソッド呼び出し] [実行] [制御構造] [組み込みクラス／モジュール／例外クラス]