Spec-Zone.ru › Ruby 2.7

класс FrozenError

Родитель:
RuntimeError

Вызывается при попытке изменить замороженный объект.

[1, 2, 3].freeze << 4

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

FrozenError: can't modify frozen Array

Публичные методы класса

new(msg=nil, receiver: nil) → frozen_error Показать исходный код
static VALUE
frozen_err_initialize(int argc, VALUE *argv, VALUE self)
{
    ID keywords[1];
    VALUE values[numberof(keywords)], options;

    argc = rb_scan_args(argc, argv, "*:", NULL, &options);
    keywords[0] = id_receiver;
    rb_get_kwargs(options, keywords, 0, numberof(values), values);
    rb_call_super(argc, argv);
    err_init_recv(self, values[0]);
    return self;
}

Создает новое исключение FrozenError. Если задан параметр receiver, его можно впоследствии получить с помощью метода FrozenError#receiver.

a = [].freeze
raise FrozenError.new("can't modify frozen array", receiver: a)

Публичные методы экземпляра

receiver → object Показать исходный код
#define frozen_err_receiver name_err_receiver

Возвращает объект-получатель, связанный с этим исключением FrozenError.

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