123456789_123456789_123456789_123456789_123456789_

Exception: LocalJumpError

Relationships & Source Files
Super Chains via Extension / Inclusion / Inheritance
Class Chain:
Instance Chain:
Inherits: StandardError
Defined in: proc.c,
proc.c

Overview

Raised when Ruby can’t yield as requested.

A typical scenario is attempting to yield when no block is given:

def call_block
  yield 42
end
call_block

raises the exception:

LocalJumpError: no block given (yield)

A more subtle example:

def get_me_a_return
  Proc.new { return 42 }
end
get_me_a_return.call

raises the exception:

LocalJumpError: unexpected return

Class Attribute Summary

::Exception - Inherited

.to_tty?

Returns true if exception messages will be sent to a terminal device.

Class Method Summary

::Exception - Inherited

.exception

Returns an exception object of the same class as self; useful for creating a similar exception, but with a different message.

.new

Returns a new exception object.

Instance Method Summary

::Exception - Inherited

#==

Returns whether object is the same class as self and its #message and #backtrace are equal to those of self.

#backtrace

Returns a backtrace value for self; the returned value depends on the form of the stored backtrace value:

#backtrace_locations

Returns a backtrace value for self; the returned value depends on the form of the stored backtrace value:

#cause

Returns the previous value of global variable $!, which may be nil (see Global Variables):

#detailed_message

Returns the message string with enhancements:

#exception

Returns an exception object of the same class as self; useful for creating a similar exception, but with a different message.

#full_message

Returns an enhanced message string:

#inspect

Returns a string representation of self:

#message

Returns #to_s.

#set_backtrace

Sets the backtrace value for self; returns the given +value:

#to_s

Returns a string representation of self:

Constructor Details

This class inherits a constructor from Exception

Instance Method Details

#exit_valueObject

Returns the exit value associated with this LocalJumpError.

[ GitHub ]

  
# File 'proc.c', line 3410

static VALUE
localjump_xvalue(VALUE exc)
{
    return rb_iv_get(exc, "@exit_value");
}

#reasonSymbol

The reason this block was terminated: :break, :redo, :retry, :next, :return, or :noreason.

[ GitHub ]

  
# File 'proc.c', line 3424

static VALUE
localjump_reason(VALUE exc)
{
    return rb_iv_get(exc, "@reason");
}