In Files

    • error.c

    Parent

    Class/Module Index [+]

    Quicksearch
    No matching classes.

    KeyError

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

    h = {"foo" => :bar}
    h.fetch("foo") #=> :bar
    h.fetch("baz") #=> KeyError: key not found: "baz"
    

    Public Class Methods

    new(message=nil, receiver: nil, key: nil) → key_error click to toggle source

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

     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 (values[i] != Qundef) {
     rb_ivar_set(self, keywords[i], values[i]);
     }
     }
     }
     return self;
    }
     

    Public Instance Methods

    key → object click to toggle source

    Return the key caused this 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");
    }
     
    receiver → object click to toggle source

    Return the receiver associated with this 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");
    }
     

    This page was generated for Ruby

    is a service of and , an erratic source of art, music, and technology.

    Generated with Ruby-doc Rdoc Generator 0.44.0.