Class | NameError |
In: |
error.c
|
Parent: | StandardError |
Descendents of class Exception are used to communicate between raise methods and rescue statements in begin/end blocks. Exception objects carry information about the exception—its type (the exception‘s class name), an optional descriptive string, and optional traceback information. Programs may subclass Exception to add additional information.
Construct a new NameError exception. If given the name parameter may subsequently be examined using the NameError.name method.
/* * call-seq: * NameError.new(msg [, name]) => name_error * * Construct a new NameError exception. If given the <i>name</i> * parameter may subsequently be examined using the <code>NameError.name</code> * method. */ static VALUE name_err_initialize(argc, argv, self) int argc; VALUE *argv; VALUE self; { VALUE name; name = (argc > 1) ? argv[--argc] : Qnil; rb_call_super(argc, argv); rb_iv_set(self, "name", name); return self; }
Produce a nicely-formated string representing the NameError.
/* * call-seq: * name_error.to_s => string * * Produce a nicely-formated string representing the +NameError+. */ static VALUE name_err_to_s(exc) VALUE exc; { VALUE mesg = rb_attr_get(exc, rb_intern("mesg")), str = mesg; if (NIL_P(mesg)) return rb_class_name(CLASS_OF(exc)); StringValue(str); if (str != mesg) { rb_iv_set(exc, "mesg", mesg = str); } if (OBJ_TAINTED(exc)) OBJ_TAINT(mesg); return mesg; }