7件ヒット
[1-7件を表示]
(0.011秒)
種類
- インスタンスメソッド (3)
- 関数 (2)
- モジュール関数 (1)
- クラス (1)
ライブラリ
- ビルトイン (5)
クラス
モジュール
- Kernel (1)
キーワード
- UncaughtThrowError (1)
-
rb
_ f _ throw (1) -
rb
_ throw (1) - tag (1)
-
to
_ s (1) - value (1)
検索結果
先頭5件
-
Kernel
. # throw(tag , value = nil) -> () (72688.0) -
Kernel.#catchとの組み合わせで大域脱出を行います。 throw は同じ tag を指定した catch のブロックの終わりまでジャンプします。
Kernel.#catchとの組み合わせで大域脱出を行います。 throw
は同じ tag を指定した catch のブロックの終わりまでジャンプします。
throw は探索時に呼び出しスタックをさかのぼるので、
ジャンプ先は同じメソッド内にあるとは限りません。
もし ensure節 が存在するならジャンプ前に実行します。
同じ tag で待っている catch が存在しない場合は、例外で
スレッドが終了します。
同じ tag であるとは Object#object_id が同じであるという意味です。
@param tag catch の引数に対応する任意のオブジェクトです。
@pa... -
void rb
_ throw(const char *tag , VALUE val) (36649.0) -
throw の実体。返り値を val として、 tag を catch したところまでジャンプします。
throw の実体。返り値を val として、
tag を catch したところまでジャンプします。
rb_catch も参照してください。 -
static VALUE rb
_ f _ throw(int argc , VALUE *argv) (36601.0) -
-
UncaughtThrowError (36085.0)
-
Kernel.#throw に指定した tag に対して一致する Kernel.#catch が存在しない場合に発生します。
Kernel.#throw に指定した tag に対して一致する
Kernel.#catch が存在しない場合に発生します。
throw "foo", "bar"
# => (例外発生) UncaughtThrowError: uncaught throw "foo" -
UncaughtThrowError
# tag -> object (18067.0) -
Kernel.#throw に指定した tag を返します。
Kernel.#throw に指定した tag を返します。
//emlist[例:][ruby]{
def do_complicated_things
throw :uncaught_label
end
begin
do_complicated_things
rescue UncaughtThrowError => ex
p ex.tag # => ":uncaught_label"
end
//} -
UncaughtThrowError
# value -> object (18067.0) -
Kernel.#throw に指定した value を返します。
Kernel.#throw に指定した value を返します。
//emlist[例][ruby]{
def do_complicated_things
throw :uncaught_label, "uncaught_value"
end
begin
do_complicated_things
rescue UncaughtThrowError => ex
p ex.value # => "uncaught_value"
end
//} -
UncaughtThrowError
# to _ s -> String (18037.0) -
self を tag を含む文字列表現にして返します。
self を tag を含む文字列表現にして返します。
//emlist[例][ruby]{
def do_complicated_things
throw :uncaught_label
end
begin
do_complicated_things
rescue UncaughtThrowError => ex
p ex.to_s # => "uncaught throw :uncaught_label"
end
//}