class UncaughtThrowError
Возникает, когда throw вызывается с тегом, у которого нет соответствующего блока 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;
} Документ-класс: UncaughtThrowError
Возникает, когда throw вызывается с тегом, у которого нет соответствующего блока catch.
throw "foo", "bar"
вызывает исключение:
UncaughtThrowError: uncaught throw "foo"
Общедоступные методы экземпляра
Исходный код
static VALUE
uncaught_throw_tag(VALUE exc)
{
return rb_ivar_get(exc, id_tag);
} Возвращает объект тега, для которого был вызван метод.
Исходный код
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);
} Возвращает отформатированное сообщение с инспектируемым тегом.
Исходный код
static VALUE
uncaught_throw_value(VALUE exc)
{
return rb_ivar_get(exc, id_value);
} Возвращает возвращаемое значение, для которого был вызван метод.
Ruby Core © 1993–2024 Yukihiro Matsumoto
Licensed under the Ruby License.
Ruby Standard Library © contributors
Licensed under their own licenses.