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

class Ractor::ClosedError

[edit]

要約

閉じられた Ractor のポートに対して送受信を行おうとした場合に発生します。

StopIteration のサブクラスであるため、Kernel?.loop の中で発生した場合はループを終了させます。他の Ractor に関する例外と異なり、 Ractor::Error のサブクラスではないことに注意してください。

r = Ractor.new do
  Ractor.current.close
  Ractor.receive # ここで Ractor::ClosedError が発生する
end

begin
  r.value
rescue Ractor::RemoteError => e
  # 他の Ractor で発生した例外は Ractor::RemoteError に包まれて伝わる
  p e.cause.class # => Ractor::ClosedError
end

[SEE_ALSO] Ractor, StopIteration

目次

継承しているメソッド

Exceptionから継承している特異メソッド
StopIterationから継承しているメソッド
Exceptionから継承しているメソッド