ささだです.

Nobuyoshi Nakada wrote::
> +static VALUE
> +m_core_handle_rescue_single(VALUE self, VALUE klass, VALUE exc)
> +{
> +    check_rescue_arg(klass);

+      check_rescue_arg(exc);

> +    return rb_funcall(klass, idEqq, 1, exc);
> +}
> +
> +static VALUE
> +m_core_handle_rescue_array(VALUE self, VALUE klass, VALUE ary)
> +{
> +    long i;
> +    check_rescue_arg(klass);
> +    for (i = 0; i < RARRAY_LEN(ary); ++i) {

+        VALUE exc = RARRAY_PTR(ary)[i];
+        check_rescue_arg(exc);
+	 VALUE result = rb_funcall(klass, idEqq, 1, exc);

> +	if (RTEST(result)) return result;
> +    }
> +    return Qfalse;
> +}

 じゃなくていいんでしたっけ.つまり,投げられたほうじゃなくて,受ける方
をチェック.メソッド呼び出しが一回増えるのが,性能的にどの程度 impact が
あるのかよくわからないのですが.

# そもそも,これは以前まつもとさんに「この仕様でいいですかね」と確認を
# とったんだけどなぁ.
# => [yarv-dev:175] Re: eval in rescue clause

-- 
// SASADA Koichi at atdot dot net