Spec-Zone.ru › Ruby 3.1

класс UncaughtThrowError

Родитель:
ArgError

Возникает, когда throw вызывается с тегом, у которого отсутствует соответствующий catch блок.

throw "foo", "bar"

вызывает исключение:

UncaughtThrowError: uncaught throw "foo"

Общедоступные методы класса

new(*args) Показать исходный код
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;
}

Документ-класс: UncaughtThrowError

Возникает, когда throw вызывается с тегом, у которого отсутствует соответствующий catch блок.

throw "foo", "bar"

вызывает исключение:

UncaughtThrowError: uncaught throw "foo"

Общедоступные методы экземпляра

tag → obj Показать исходный код
static VALUE
uncaught_throw_tag(VALUE exc)
{
    return rb_ivar_get(exc, id_tag);
}

Возвращает объект тега, для которого был вызван метод.

to_s → string Показать исходный код
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 Показать исходный код
static VALUE
uncaught_throw_value(VALUE exc)
{
    return rb_ivar_get(exc, id_value);
}

Возвращает возвращаемое значение, для которого был вызван метод.

Ruby Core © 1993–2017 Yukihiro Matsumoto
Licensed under the Ruby License.
Ruby Standard Library © contributors
Licensed under their own licenses.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API