class Ractor::RemoteError

Ractor#joinRactor#value 中捕获到 Ractor 中未捕获的异常时抛出。其 cause 将包含原始异常,ractor 是最初抛出它的 ractor。

r = Ractor.new { raise "Something weird happened" }

begin
  r.value
rescue => e
  p e             # => #<Ractor::RemoteError: thrown by remote Ractor.>
  p e.ractor == r # => true
  p e.cause       # => #<RuntimeError: Something weird happened>
end