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, #initialize, #inspect, #message, #set_backtrace, #to_s
Constructor Details
This class inherits a constructor from Exception
Instance Method Details
#exit_value ⇒ Object
Returns the exit value associated with this LocalJumpError
.
2407 2408 2409 2410 2411 |
# File 'proc.c', line 2407
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.
2421 2422 2423 2424 2425 |
# File 'proc.c', line 2421
static VALUE
localjump_reason(VALUE exc)
{
return rb_iv_get(exc, "@reason");
}
|