Raised by Timeout#timeout when the block times out.

Methods
C
E
Attributes
[R] thread
Class Public methods
catch(*args)
# File lib/timeout.rb, line 30
def self.catch(*args)
  exc = new(*args)
  exc.instance_variable_set(:@thread, Thread.current)
  ::Kernel.catch(exc) {yield exc}
end
Instance Public methods
exception(*)
# File lib/timeout.rb, line 36
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