From 3772335ae6dad3f65ad42cf5986068a4a7293141 Mon Sep 17 00:00:00 2001 From: nobu Date: Sat, 14 Jan 2012 12:47:06 +0000 Subject: * README.EXT, README.EXT.ja (rb_protect): add a note when ignoring the caught exception. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34302 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- README.EXT | 2 ++ README.EXT.ja | 2 ++ 2 files changed, 4 insertions(+) diff --git a/README.EXT b/README.EXT index c8c9342e16..a5e48a2a9d 100644 --- a/README.EXT +++ b/README.EXT @@ -1262,6 +1262,8 @@ Calls the function func with arg as the argument. If no exception occured during func, it returns the result of func and *state is zero. Otherwise, it returns Qnil and sets *state to nonzero. If state is NULL, it is not set in both cases. +You have to clear the error info with rb_set_errinfo(Qnil) when +ignoring the caught exception. void rb_jump_tag(int state) diff --git a/README.EXT.ja b/README.EXT.ja index ce2b30484a..6278a53c4e 100644 --- a/README.EXT.ja +++ b/README.EXT.ja @@ -1336,6 +1336,8 @@ VALUE rb_protect(VALUE (*func) (VALUE), VALUE arg, int *state) 関数funcをargを引数として実行し, 例外が発生しなければその戻 り値を返す.例外が発生した場合は, *stateに非0をセットして Qnilを返す. + rb_jump_tag()を呼ばずに捕捉した例外を無視する場合には, + rb_set_errinfo(Qnil)でエラー情報をクリアしなければならない. void rb_jump_tag(int state) -- cgit v1.2.3