るりまサーチ

最速Rubyリファレンスマニュアル検索!
11件ヒット [1-11件を表示] (0.045秒)
トップページ > クエリ:object[x] > クエリ:nil[x] > モジュール:Kernel[x] > クエリ:throw[x]

別のキーワード

  1. objectspace each_object
  2. _builtin each_object
  3. object enum_for
  4. object to_enum
  5. object send

ライブラリ

検索結果

Kernel.#throw(tag, value = nil) -> () (18243.0)

Kernel.#catchとの組み合わせで大域脱出を行います。 throw は同じ tag を指定した catch のブロックの終わりまでジャンプします。

...
Kernel
.#catchとの組み合わせで大域脱出を行います。 throw
は同じ tag を指定した catch のブロックの終わりまでジャンプします。

throw
は探索時に呼び出しスタックをさかのぼるので、
ジャンプ先は同じメソッド内にあるとは限...
...

同じ tag で待っている catch が存在しない場合は、例外で
スレッドが終了します。

同じ tag であるとは Object#object_id が同じであるという意味です。

@param tag catch の引数に対応する任意のオブジェクトです。
@param value catch...
...いる catch が存在しない場合に発生します。

//emlist[例][ruby]{
def foo
throw
:exit, 25
end

ret = catch(:exit) do
begin
foo
some_process() # 絶対に実行されない
10
ensure
puts "ensure"
end
end
puts ret
#=> ensure
# 25
//}

@see Kernel.#catch...
...了します。

同じ tag であるとは Object#object_id が同じであるという意味です。

@param tag catch の引数に対応する任意のオブジェクトです。
@param value catch の戻り値になります。
@raise UncaughtThrowError 同じ tag で待っている catch が...
...存在しない場合に発生します。

//emlist[例][ruby]{
def foo
throw
:exit, 25
end

ret = catch(:exit) do
begin
foo
some_process() # 絶対に実行されない
10
ensure
puts "ensure"
end
end
puts ret
#=> ensure
# 25
//}

@see Kernel.#catch...