首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

LocalJumpError

Parent:StandardError

当Ruby无法按要求屈服时引发。

一个典型的场景是在没有给出块的情况下尝试屈服:

代码语言:javascript
复制
def call_block
  yield 42
end
call_block

引发了一个例外:

代码语言:javascript
复制
LocalJumpError: no block given (yield)

一个更微妙的例子:

代码语言:javascript
复制
def get_me_a_return
  Proc.new { return 42 }
end
get_me_a_return.call

引发了一个例外:

代码语言:javascript
复制
LocalJumpError: unexpected return

公共实例方法

exit_value → obj Show source

返回与此关联的退出值LocalJumpError

代码语言:javascript
复制
static VALUE
localjump_xvalue(VALUE exc)
{
    return rb_iv_get(exc, "@exit_value");
}

reason → symbol Show source

这个块被终止的原因::break,:redo,:retry,:next,:return或者noreason。

代码语言:javascript
复制
static VALUE
localjump_reason(VALUE exc)
{
    return rb_iv_get(exc, "@reason");
}

扫码关注腾讯云开发者

领取腾讯云代金券