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"); }