class LocalJumpError
Wird ausgelöst, wenn Ruby nicht wie angefordert weitergeben kann.
Ein typisches Szenario ist der Versuch, weiterzugeben, wenn kein Block übergeben wird
def call_block yield 42 end call_block
löst die Ausnahme aus
LocalJumpError: no block given (yield)
Ein subtileres Beispiel
def get_me_a_return Proc.new { return 42 } end get_me_a_return.call
löst die Ausnahme aus
LocalJumpError: unexpected return
Öffentliche Instanzmethoden
Source
static VALUE
localjump_xvalue(VALUE exc)
{
return rb_iv_get(exc, "@exit_value");
}
Gibt den Exit-Wert zurück, der mit diesem LocalJumpError verbunden ist.
Source
static VALUE
localjump_reason(VALUE exc)
{
return rb_iv_get(exc, "@reason");
}
Der Grund für die Beendigung dieses Blocks: :break, :redo, :retry, :next, :return oder :noreason.