类 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
公共实例方法
源代码
static VALUE localjump_xvalue(VALUE exc) { return rb_iv_get(exc, "@exit_value"); }
返回与此 LocalJumpError
关联的退出值。
源代码
static VALUE localjump_reason(VALUE exc) { return rb_iv_get(exc, "@reason"); }
此代码块终止的原因::break、:redo、:retry、:next、:return 或 :noreason。