Ruby 2.4

UncaughtThrowError

UncaughtThrowError类

Parent:ArgError

抛出时使用没有相应catch块的标签调用。

throw "foo", "bar"

引发了一个例外:

UncaughtThrowError: uncaught throw "foo"

公共类方法

new(*args) Show source

Document-class: UncaughtThrowError

抛出时使用没有相应catch块的标签调用。

throw "foo", "bar"

引发了一个例外:

UncaughtThrowError: uncaught throw "foo"

static VALUE uncaught_throw_init(int argc, const VALUE *argv, VALUE exc) { rb_check_arity(argc, 2, UNLIMITED_ARGUMENTS rb_call_super(argc - 2, argv + 2 rb_ivar_set(exc, id_tag, argv[0] rb_ivar_set(exc, id_value, argv[1] return exc; }

公共实例方法

tag → obj Show source

返回被调用的标签对象。

static VALUE uncaught_throw_tag(VALUE exc) { return rb_ivar_get(exc, id_tag }

to_s → string Show source

使用检查标签返回格式化邮件。

static VALUE uncaught_throw_to_s(VALUE exc) { VALUE mesg = rb_attr_get(exc, id_mesg VALUE tag = uncaught_throw_tag(exc return rb_str_format(1, &tag, mesg }

value → obj Show source

返回被调用的返回值。

static VALUE uncaught_throw_value(VALUE exc) { return rb_ivar_get(exc, id_value }