我有这段代码:
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
它被认为是超时状态返回值(true 或 false,如文档中提到的),绝对不是布尔值。
难道我做错了什么?
您的代码是正确的
require 'timeout'
begin
complete_results = Timeout.timeout(1) do
sleep(2)
end
rescue Timeout::Error
puts 'Print me something please'
end
确实打印出“请给我打印一些东西”。
尝试上面的基本代码。如果有效,那么您遇到的问题是platform.search
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)