A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://docs.ruby-lang.org/en/master/Thread/../KeyError.html below:

class KeyError - Documentation for Ruby 3.5

class KeyError

Raised when the specified key is not found. It is a subclass of IndexError.

h = {"foo" => :bar}
h.fetch("foo") 
h.fetch("baz") 
Public Class Methods

Source

static VALUE
key_err_initialize(int argc, VALUE *argv, VALUE self)
{
    VALUE options;

    rb_call_super(rb_scan_args(argc, argv, "01:", NULL, &options), argv);

    if (!NIL_P(options)) {
        ID keywords[2];
        VALUE values[numberof(keywords)];
        int i;
        keywords[0] = id_receiver;
        keywords[1] = id_key;
        rb_get_kwargs(options, keywords, 0, numberof(values), values);
        for (i = 0; i < numberof(values); ++i) {
            if (!UNDEF_P(values[i])) {
                rb_ivar_set(self, keywords[i], values[i]);
            }
        }
    }

    return self;
}

Construct a new KeyError exception with the given message, receiver and key.

Public Instance Methods

Source

static VALUE
key_err_key(VALUE self)
{
    VALUE key;

    key = rb_ivar_lookup(self, id_key, Qundef);
    if (!UNDEF_P(key)) return key;
    rb_raise(rb_eArgError, "no key is available");
}

Return the key caused this KeyError exception.

Source

static VALUE
key_err_receiver(VALUE self)
{
    VALUE recv;

    recv = rb_ivar_lookup(self, id_receiver, Qundef);
    if (!UNDEF_P(recv)) return recv;
    rb_raise(rb_eArgError, "no receiver is available");
}

Return the receiver associated with this KeyError exception.


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4