要約
閉じられた 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から継承しているメソッド