Raised when the specified key is not found. It is a subclass of IndexError
.
h = {"foo" => :bar} h.fetch("foo") #=> :bar h.fetch("baz") #=> KeyError: key not found: "baz"
Return the key caused this KeyError
exception.
static VALUE key_err_key(VALUE self) { VALUE key; key = rb_ivar_lookup(self, id_key, Qundef); if (key != Qundef) return key; rb_raise(rb_eArgError, "no key is available"); }
Return the receiver associated with this KeyError
exception.
static VALUE key_err_receiver(VALUE self) { VALUE recv; recv = rb_ivar_lookup(self, id_receiver, Qundef); if (recv != Qundef) return recv; rb_raise(rb_eArgError, "no receiver is available"); }