class Timeout::ExitException
Raised by Timeout#timeout when the block times out.
Attributes
thread[R]
Public Class Methods
# File lib/timeout.rb, line 29 def self.catch(*args) exc = new(*args) exc.instance_variable_set(:@thread, Thread.current) ::Kernel.catch(exc) {yield exc} end
Public Instance Methods
# File lib/timeout.rb, line 35 def exception(*) # TODO: use Fiber.current to see if self can be thrown if self.thread == Thread.current bt = caller begin throw(self, bt) rescue UncaughtThrowError end end self end
Ruby Core © 1993–2017 Yukihiro Matsumoto
Licensed under the Ruby License.
Ruby Standard Library © contributors
Licensed under their own licenses.