diff options
| author | Akira Yumiyama <[email protected]> | 2012-10-28 20:20:13 +0900 |
|---|---|---|
| committer | Akira Yumiyama <[email protected]> | 2012-10-28 20:20:13 +0900 |
| commit | e407022b10505dd01da5829cfe9b2d978d266e64 (patch) | |
| tree | 817182e284057589dc5e62905688e2cb0f584968 | |
| parent | 559933f577d5073464aa06facc1b754de6225d8a (diff) | |
| download | mruby-e407022b10505dd01da5829cfe9b2d978d266e64.tar.gz mruby-e407022b10505dd01da5829cfe9b2d978d266e64.zip | |
change the error message (NoMethodError, NameError)
| -rw-r--r-- | src/class.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/class.c b/src/class.c index c4058ad67..3e54afede 100644 --- a/src/class.c +++ b/src/class.c @@ -852,7 +852,9 @@ mrb_method_search(mrb_state *mrb, struct RClass* c, mrb_sym mid) m = mrb_method_search_vm(mrb, &c, mid); if (!m) { - mrb_raisef(mrb, E_NOMETHOD_ERROR, "no method named %s\n", mrb_sym2name(mrb, mid)); + mrb_raisef(mrb, E_NAME_ERROR, "undefined method '%s' for class %s", + mrb_sym2name(mrb, mid), + RSTRING_PTR(mrb_funcall(mrb, mrb_obj_value(c), "inspect", 0))); } return m; } @@ -1008,7 +1010,9 @@ mrb_bob_missing(mrb_state *mrb, mrb_value mod) if (!SYMBOL_P(name)) { mrb_raise(mrb, E_TYPE_ERROR, "name should be a symbol"); } - mrb_raisef(mrb, E_NOMETHOD_ERROR, "no method named %s", mrb_sym2name(mrb, mrb_symbol(name))); + mrb_raisef(mrb, E_NOMETHOD_ERROR, "undefined method '%s' for %s", + mrb_sym2name(mrb, mrb_symbol(name)), + RSTRING_PTR(mrb_funcall(mrb, mod, "inspect", 0))); /* not reached */ return mrb_nil_value(); } |
