класс Timeout::TimeoutError
Вызывается методом Timeout.timeout, когда блок выполнения истекает по времени.
Атрибуты
thread[R]
Публичные методы класса
# 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 Публичные методы экземпляра
# 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
Ruby Core © 1993–2017 Yukihiro Matsumoto
Licensed under the Ruby License.
Ruby Standard Library © contributors
Licensed under their own licenses.