у меня есть этот кусок кода:
begin
complete_results = Timeout.timeout(4) do
results = platform.search(artist, album_name)
end
rescue Timeout::Error
puts 'Print me something please'
end
Затем я запускаю метод, содержащий этот код, и вот начало трассировки стека:
Exception message : execution expired
Exception backtrace : /***/****/.rvm/rubies/ruby-1.8.7-p302/lib/ruby/1.8/timeout.rb:64:i
Так что я наивно думаю, что мой звонок засчитан. Но «Напечатай мне что-нибудь, пожалуйста» никогда не печатается, и complete_results
, которое, как предполагается, будет возвращаемым значением времени ожидания (истина или ложь, как упомянуто в документации), определенно не является логическим значением.
Я что-то не так делаю?