Exception: LocalJumpError
- Inherits:
-
StandardError
- Object
- Exception
- StandardError
- LocalJumpError
- 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
Instance Method Summary collapse
-
#exit_value ⇒ Object
Returns the exit value associated with this
LocalJumpError
. -
#reason ⇒ Object
The reason this block was terminated: :break, :redo, :retry, :next, :return, or :noreason.
Methods inherited from Exception
#==, #backtrace, #backtrace_locations, #cause, #exception, exception, #full_message, #initialize, #inspect, #message, #set_backtrace, #to_s, to_tty?
Constructor Details
This class inherits a constructor from Exception
Instance Method Details
#exit_value ⇒ Object
Returns the exit value associated with this LocalJumpError
.
3223 3224 3225 3226 3227 |
# File 'proc.c', line 3223
static VALUE
localjump_xvalue(VALUE exc)
{
return rb_iv_get(exc, "@exit_value");
}
|
#reason ⇒ Object
The reason this block was terminated: :break, :redo, :retry, :next, :return, or :noreason.
3237 3238 3239 3240 3241 |
# File 'proc.c', line 3237
static VALUE
localjump_reason(VALUE exc)
{
return rb_iv_get(exc, "@reason");
}
|