このマニュアルは既にメンテナンスが終了したバージョンの Ruby を対象としています。 最新版のマニュアルへ

Ruby 3.0 リファレンスマニュアル

instance method Thread#raise

raise -> ()[permalink][rdoc][edit]
raise(message) -> ()
raise(error_type, message = nil, traceback = nil) -> ()

自身が表すスレッドで強制的に例外を発生させます。

引数を渡さない場合は RuntimeError を発生させます。message だけを渡した場合は、message をメッセージとした RuntimeError を発生させます。引数の意味は Kernel.#raise と同じです。

[PARAM] error_type:
Kernel.#raise を参照してください。
[PARAM] message:
Kernel.#raise を参照してください。
[PARAM] traceback:
Kernel.#raise を参照してください。省略した場合は、例外が発生した時点でのそのスレッドのバックトレースになります。
Thread.new {
  sleep 1
  Thread.main.raise "foobar"
}

begin
  sleep
rescue
  p $!, $@
end

=> #<RuntimeError: foobar>
   ["-:3"]