类 LocalJumpError
当 Ruby 无法按要求执行 yield 时抛出。
一个典型的场景是在没有给定块的情况下尝试 yield
def call_block yield 42 end call_block
抛出异常
LocalJumpError: no block given (yield)
一个更微妙的例子
def get_me_a_return Proc.new { return 42 } end get_me_a_return.call
抛出异常
LocalJumpError: unexpected return
公共实例方法
exit_value → obj 点击切换源代码
返回与此 LocalJumpError 关联的退出值。
static VALUE
localjump_xvalue(VALUE exc)
{
return rb_iv_get(exc, "@exit_value");
}
reason → symbol 点击切换源代码
此块被终止的原因::break、:redo、:retry、:next、:return 或 :noreason。
static VALUE
localjump_reason(VALUE exc)
{
return rb_iv_get(exc, "@reason");
}