class Stop
Raised when a task is explicitly stopped.
Nested
Definitions
def initialize(message = "Task was stopped")
Create a new stop operation.
This is a compatibility method for Ruby versions before 3.5 where cause is not propagated correctly when using Fiber#raise
Signature
-
parameter
message
String | Hash
The error message or a hash containing the cause.
Implementation
def initialize(message = "Task was stopped")
if message.is_a?(Hash)
@cause = message[:cause]
message = "Task was stopped"
end
super(message)
end
def cause
This is a compatibility method for Ruby versions before 3.5 where cause is not propagated correctly when using Fiber#raise
, we explicitly capture the cause here.
Signature
-
returns
Exception
The cause of the stop operation.
Implementation
def cause
super || @cause
end