るりまサーチ

最速Rubyリファレンスマニュアル検索!
6681件ヒット [1-100件を表示] (0.153秒)

別のキーワード

  1. _builtin new
  2. _builtin inspect
  3. _builtin []
  4. _builtin to_s
  5. _builtin each

クラス

モジュール

オブジェクト

キーワード

検索結果

<< 1 2 3 ... > >>

Thread#raise(error_type, message, traceback) -> () (32227.0)

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

...Kernel.#raise を参照してください。

@param message Kernel.#raise を参照してください。

@param traceback Kernel.#raise を参照してください。

Thread.new {
sleep 1
Thread.main.raise "foobar"
}

begin
sleep
rescue
p $!, $@
end

=> #<RuntimeError:...

Fiber#raise -> object (32217.0)

selfが表すファイバーが最後に Fiber.yield を呼んだ場所で例外を発生させます。

...表すファイバーが最後に Fiber.yield を呼んだ場所で例外を発生させます。

Fiber.yield が呼ばれていないかファイバーがすでに終了している場合、
FiberError が発生します。

引数を渡さない場合、RuntimeError が発生します。
message...
...引数を渡した場合、message 引数をメッセージとした RuntimeError
が発生します。

その他のケースでは、最初の引数は Exception か Exception
のインスタンスを返す exception メソッドを持ったオブジェクトである
必要があります。
...
...す。
@param exception 発生させる例外です。
@param backtrace 例外発生時のスタックトレースです。文字列の配列で指定します。

//emlist[例][ruby]{
f = Fiber.new { Fiber.yield }
f.resume
f.raise "Error!" # => Error! (RuntimeError)
//}

//emlist[ファイバー内...

Fiber#raise(exception, message = nil, backtrace = nil) -> object (32217.0)

selfが表すファイバーが最後に Fiber.yield を呼んだ場所で例外を発生させます。

...表すファイバーが最後に Fiber.yield を呼んだ場所で例外を発生させます。

Fiber.yield が呼ばれていないかファイバーがすでに終了している場合、
FiberError が発生します。

引数を渡さない場合、RuntimeError が発生します。
message...
...引数を渡した場合、message 引数をメッセージとした RuntimeError
が発生します。

その他のケースでは、最初の引数は Exception か Exception
のインスタンスを返す exception メソッドを持ったオブジェクトである
必要があります。
...
...す。
@param exception 発生させる例外です。
@param backtrace 例外発生時のスタックトレースです。文字列の配列で指定します。

//emlist[例][ruby]{
f = Fiber.new { Fiber.yield }
f.resume
f.raise "Error!" # => Error! (RuntimeError)
//}

//emlist[ファイバー内...

Fiber#raise(message) -> object (32217.0)

selfが表すファイバーが最後に Fiber.yield を呼んだ場所で例外を発生させます。

...表すファイバーが最後に Fiber.yield を呼んだ場所で例外を発生させます。

Fiber.yield が呼ばれていないかファイバーがすでに終了している場合、
FiberError が発生します。

引数を渡さない場合、RuntimeError が発生します。
message...
...引数を渡した場合、message 引数をメッセージとした RuntimeError
が発生します。

その他のケースでは、最初の引数は Exception か Exception
のインスタンスを返す exception メソッドを持ったオブジェクトである
必要があります。
...
...す。
@param exception 発生させる例外です。
@param backtrace 例外発生時のスタックトレースです。文字列の配列で指定します。

//emlist[例][ruby]{
f = Fiber.new { Fiber.yield }
f.resume
f.raise "Error!" # => Error! (RuntimeError)
//}

//emlist[ファイバー内...

Kernel.#raise -> () (29235.0)

例外を発生させます。 発生した例外は変数 $! に格納されます。また例外が 発生した時のスタックトレースは変数 $@ に格納され ます。発生した例外は rescue 節で捕捉できます。

...RuntimeError を発生させます。

//emlist[例][ruby]{
begin
open("nonexist")
rescue
raise
#=> `open': No such file or directory - "nonexist" (Errno::ENOENT)
end
//}

引数を渡した場合は、例外メッセージ message を持った error_type の示す例外(省略時 RuntimeErro...
...例外ではないクラスやオブジェクトを指定した場合、
そのオブジェクトの exception メソッドが返す値を発生する例外にします。
その際、exception メソッドに引数として変数 message を渡すことができます。

@param error_type 発生...
...($!)の代わりに Exception#cause に設定する例外を指定します。
@raise TypeError exception メソッドが例外オブジェクトを返さなかった場合に発生します。

例外の捕捉の例を示します。

//emlist[例1][ruby]{
begin
raise
NameError,"!!error!!"
rescue...
...Exception#cause に設定する例外を指定します。
Exception オブジェクトまたは nil を指定できます。
@raise TypeError exception メソッドが例外オブジェクトを返さなかった場合に発生します。

例外の捕捉の例を示します。

//emlist[例1]...

絞り込み条件を変える

Kernel.#raise(error_type, message = nil, backtrace = caller(0), cause: $!) -> () (29235.0)

例外を発生させます。 発生した例外は変数 $! に格納されます。また例外が 発生した時のスタックトレースは変数 $@ に格納され ます。発生した例外は rescue 節で捕捉できます。

...RuntimeError を発生させます。

//emlist[例][ruby]{
begin
open("nonexist")
rescue
raise
#=> `open': No such file or directory - "nonexist" (Errno::ENOENT)
end
//}

引数を渡した場合は、例外メッセージ message を持った error_type の示す例外(省略時 RuntimeErro...
...例外ではないクラスやオブジェクトを指定した場合、
そのオブジェクトの exception メソッドが返す値を発生する例外にします。
その際、exception メソッドに引数として変数 message を渡すことができます。

@param error_type 発生...
...($!)の代わりに Exception#cause に設定する例外を指定します。
@raise TypeError exception メソッドが例外オブジェクトを返さなかった場合に発生します。

例外の捕捉の例を示します。

//emlist[例1][ruby]{
begin
raise
NameError,"!!error!!"
rescue...
...Exception#cause に設定する例外を指定します。
Exception オブジェクトまたは nil を指定できます。
@raise TypeError exception メソッドが例外オブジェクトを返さなかった場合に発生します。

例外の捕捉の例を示します。

//emlist[例1]...

Kernel.#raise(message, cause: $!) -> () (29235.0)

例外を発生させます。 発生した例外は変数 $! に格納されます。また例外が 発生した時のスタックトレースは変数 $@ に格納され ます。発生した例外は rescue 節で捕捉できます。

...RuntimeError を発生させます。

//emlist[例][ruby]{
begin
open("nonexist")
rescue
raise
#=> `open': No such file or directory - "nonexist" (Errno::ENOENT)
end
//}

引数を渡した場合は、例外メッセージ message を持った error_type の示す例外(省略時 RuntimeErro...
...例外ではないクラスやオブジェクトを指定した場合、
そのオブジェクトの exception メソッドが返す値を発生する例外にします。
その際、exception メソッドに引数として変数 message を渡すことができます。

@param error_type 発生...
...($!)の代わりに Exception#cause に設定する例外を指定します。
@raise TypeError exception メソッドが例外オブジェクトを返さなかった場合に発生します。

例外の捕捉の例を示します。

//emlist[例1][ruby]{
begin
raise
NameError,"!!error!!"
rescue...
...Exception#cause に設定する例外を指定します。
Exception オブジェクトまたは nil を指定できます。
@raise TypeError exception メソッドが例外オブジェクトを返さなかった場合に発生します。

例外の捕捉の例を示します。

//emlist[例1]...

TracePoint#raised_exception -> Exception (20220.0)

発生した例外を返します。

...

@raise RuntimeError :raise イベントのためのイベントフックの外側で実行し
た場合に発生します。

//emlist[例][ruby]{
trace = TracePoint.new(:raise) do |tp|
tp.raised_exception # => #<ZeroDivisionError: divided by 0>
end
trace.enable
begin
0/...

ObjectSpace.#define_finalizer(obj) {|id| ...} -> Array (20214.0)

obj が解放されるときに実行されるファイナライザ proc を 登録します。同じオブジェクトについて複数回呼ばれたときは置き換えで はなく追加登録されます。固定値 0 と proc を配列にして返します。

...ロックを指定した場合は、そのブロックがファイナライザになります。
obj の回収時にブロックは obj の ID (BasicObject#__id__)を引数とし
て実行されます。
しかし、後述の問題があるのでブロックでファイナライザを登録するの...
...す。proc は obj の回収時に obj の ID を引数として実行されます。

=== 使い方の注意

以下は、define_finalizer の使い方の悪い例です。

//emlist[悪い例][ruby]{
class Foo
def initialize
ObjectSpace.define_finalizer(self) {
puts "foo"
}
end
e...
...file は、ファイナライザの使い方の
良い例になっています。これは、クラスのコンテキストで Proc を
生成することで上記の問題を回避しています。

//emlist[例][ruby]{
class Bar
def Bar.callback
proc {
puts "bar"
}
end
def ini...

ObjectSpace.#define_finalizer(obj, proc) -> Array (20214.0)

obj が解放されるときに実行されるファイナライザ proc を 登録します。同じオブジェクトについて複数回呼ばれたときは置き換えで はなく追加登録されます。固定値 0 と proc を配列にして返します。

...ロックを指定した場合は、そのブロックがファイナライザになります。
obj の回収時にブロックは obj の ID (BasicObject#__id__)を引数とし
て実行されます。
しかし、後述の問題があるのでブロックでファイナライザを登録するの...
...す。proc は obj の回収時に obj の ID を引数として実行されます。

=== 使い方の注意

以下は、define_finalizer の使い方の悪い例です。

//emlist[悪い例][ruby]{
class Foo
def initialize
ObjectSpace.define_finalizer(self) {
puts "foo"
}
end
e...
...file は、ファイナライザの使い方の
良い例になっています。これは、クラスのコンテキストで Proc を
生成することで上記の問題を回避しています。

//emlist[例][ruby]{
class Bar
def Bar.callback
proc {
puts "bar"
}
end
def ini...

絞り込み条件を変える

Thread.pending_interrupt?(error = nil) -> bool (20208.0)

非同期割り込みのキューが空かどうかを返します。

...Thread.handle_interrupt は非同期割り込みの発生を延期させるのに使
用しますが、本メソッドは任意の非同期割り込みが存在するかどうかを確認す
るのに使用します。

本メソッドが true を返した場合、Thread.handle_interrupt で例外...
...だちに発生させる。

def Thread.kick_interrupt_immediately
Thread.handle_interrupt(Object => :immediate) {
Thread.pass
}
end

=== 使い方

th = Thread.new{
Thread.handle_interrupt(RuntimeError => :on_blocking){
while true
...
# ここまでで...
...
i
f Thread.pending_interrupt?
Thread.handle_interrupt(Object => :immediate){}
end
...
end
}
}
...
th.raise # スレッド停止。

この例は以下のように記述する事もできます。

flag = true
th = Thread.new{
Thread.handle_in...
<< 1 2 3 ... > >>