Ruby Timeout::timeout 不会引发异常,也不会返回记录的内容

2023-12-24

我有这段代码:

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(使用前将#替换为@)

Ruby Timeout::timeout 不会引发异常,也不会返回记录的内容 的相关文章

  • 开始使用 Ruby、Watir 和 Ruby Mine?

    我想对电子商务网站进行自动化测试 我安装了 Ruby Watir Gems 和 Ruby Mine 虽然我尝试过 RubyMine 但我不知道如何开始编写一个简单的脚本 如何开始使用 RubyMine 编写简单的脚本 我创建了一个项目 你下
  • 无法在 IE 上运行 Selenium 脚本

    我必须在 IE 10 浏览器上运行 Selenium 测试 为了运行以下脚本 我执行了以下操作 下载IEDriverServer 64位 因为我的机器是64位 here http code google com p selenium dow
  • 如何从 Ruby 模块中仅导入几个函数?

    假设我有一个带有以下方法的模块 function1 function2 function3 我想导入 function1 和 function2 但不导入 function3 有没有办法在红宝石中做到这一点 不确定是否有一种干净的方法来添加
  • 当放入对象方法内时,引用拉入封装方法的方法会移出范围

    当我将引用拉入包的方法放入另一个方法中时 它会离开范围并失败 执行此操作的正确方法是什么 我尝试玩弄 自我 但我是新人 但没有成功 所需的解决方案 不起作用 返回错误 nil NilClass 的未定义方法 accounts NoMetho
  • 如何使用 AngularJS、Devise 和 UI Router 全局实现身份验证?

    我对 Angular 很陌生 所以这可能是一个新手问题 我正在尝试实现一个简单的任务管理器 只是一个练习 以 Rails 作为后端 以 Angular 作为前端 到目前为止 我遵循了教程 一切正常 现在我想在全球范围内实施身份验证 这意味着
  • Ruby 解释器出现段错误后,是否可以从 corefile 中获取 Ruby 回溯?

    Note 我使用了在使用 libxml ruby gem 时遇到的段错误来说明问题 但我已经用所述 gem 解决了我的问题 这个问题真正涉及的是从 gdb 使用 corefile 查看 Ruby 回溯 即解释器在 Ruby 代码无法处理异常
  • Rails 应用程序在模型间保存方面遇到问题

    我正在开发一个从网站下载元标签并然后保存的应用程序 下载发生在一个名为Site 我想将下载的机器人元标签保存到一个名为的模型中robots tag它通过一个名为的连接表连接到站点meta tag sites 但是我在站点模型中编写的用于执行
  • json、rails、javascript 中的解析错误

    我需要将 ruby 数组放入 javascript 数组中 但出现解析错误 var characters 这就是我将 ruby 嵌入到内联 javascript 中的方式 但它出现了解析错误 我应该如何将此 ruby 数组放入 javasc
  • 使用 RSpec 进行 Rails 片段缓存测试

    我觉得这是一个没有太多记录的主题 至少我在这里找到最佳实践时遇到了很多麻烦 我使用 cache key 在视图中进行片段缓存 tbody employees each do employee cache employee do tr emp
  • Mountain Lion 的 RVM 问题

    我可以在运行 Mountain Lion 的 Mac 上安装任何 Ruby 版本 我已经确保 Brew Doctor 一切正常 当我运行 ie rvm intall 1 9 3 head 时 我得到以下信息 From git github
  • 了解 Ruby 的加载路径

    我有点困惑为什么我的项目无法加载它需要的文件 这是一个非常简单的项目树 processor bin lib processor rb processor mapper rb reducer rb and my processor rb文件看
  • 使用 tweetstream 守护进程写入数据库

    我正在尝试将与关键字匹配的所有推文写入我的数据库 我在中设置了以下内容tracker rb require rubygems require tweetstream TweetStream Daemon new Bill Gates mon
  • 如何将字符串拆分为新行并保留空白行?

    给出 ruby 代码 aaaa nbbbb n n split n 这输出 aaaa bbbb 我希望输出包含由 n n 我想要的结果是 aaaa bbbb 获得这个确切结果的最简单 最好的方法是什么 我建议使用lines代替split为了
  • 使用简单的表单轨道删除日期选择中的日期时间和时间分隔符

    如何删除由名为 simple form 的 gem 创建的日期选择中的日期时间分隔符和时间分隔符 我想我必须重写initializesimple form 用于创建日期选择或在表单输入中传递哈希选项的方法 但这不起作用 我尝试这样的事情 f
  • “gem install Rails”因 DNS 错误而失败

    rvm use Using home owner rvm gems ruby 2 1 2 gem install rails ERROR While executing gem Gem RemoteFetcher FetchError Er
  • 处理rails应用程序中的rack_throttle异常

    当超出速率限制时 如何处理由rack throttle gem 生成的错误 现在我只收到包含以下内容的回复 Internal Server Error undefined method each for 403 Forbidden Rate
  • 在 Ruby 1.8.7 中将带有二进制数据的 YAML 响应转换为 UTF-8

    我正在从 API 中提取响应并接收 response job unit count 1 slug Answers lc tgt ja body tgt binary 5Zue562U lc src en body src Answers j
  • 检查 Ruby 上的浏览​​器控制台输出

    如何检查浏览器控制台是否有错误 例如 我用 Selenium 启动了浏览器 firefox 的 chrome 并且用 Selenium WebDriver 做了一些操作 之后我想知道网络控制台中是否有任何错误 我尝试接受控制台错误 例如 d
  • “捆绑安装”是否会在我的计算机上永久安装所有必需的 gem?

    我是 Rails 新手 正在学习捆绑器 我明白那个bundle install安装 gemfile 中指定的所有 gem 但将它们安装到哪里 是否将它们永久安装在我的计算机上 以便将来的任何项目都可以使用它们 如果是这样 这是否意味着我的计
  • 将 URL 转换为 JSON 版本?

    在我的应用程序的所有页面上 我想要一个指向当前页面的 JSON 版本的链接 有什么巧妙的技巧可以做到这一点吗 当 URL 中包含额外的 参数时 情况就变得复杂了 所以 url 将被转置为 users gt users json users

随机推荐

  • 在父进程中捕获子进程异常

    我正在创建多个单独运行爬虫的进程 我想确保如果爬虫进程中有一些异常 我能够在父进程中捕获它 下面是进程创建代码 try caching process Process target run crawler process args Conf
  • 停止执行 ASP.NET 应用程序

    在我的 Application Start 方法中 当某些条件不满足时 如何停止 ASP NET 应用程序的执行 抛出异常似乎不起作用 我认为这是不可能的 即使您可以 中止 启动 下次尝试从该站点访问 URL 时也会尝试再次启动它 也许静态
  • Vue 中的 TreeView 未正确渲染子文件夹内容

    我正在尝试建立一个TreeView在 Vue 中从头开始 This https codesandbox io s optimistic wilbur 8dreq到目前为止是我的代码 我遇到的第一个问题是子文件夹的内容 例如child fol
  • CakePHP 2.0 账户激活后自动登录

    我正在研究我们新项目的用户管理组件 计划是 用户使用最少量的帐户数据 用户名 密码 电子邮件 在页面上注册 用户收到一封电子邮件 其中包含用于激活帐户的激活链接 用户点击链接并激活他的帐户 系统在激活后自动登录用户 并将其重定向到带有帐户信
  • 如何在页面加载时动态更改aspx页面的标题

    我有一组 ASPX 页面 其中每个页面都有不同的标题 但我想为没有标题的页面设置默认标题 默认标题必须是可配置的 如果这是经典的 ASP NET 不是 MVC 并且您正在使用MasterPage然后你可以设置默认标题Page Load事件在
  • PHP sqlsrv 查询数据库

    我从 MySQL 迁移到 MS SQL Server 并尝试从例程表中获取所有数据 我已连接 但不确定如何使用 sqlsrv 获取数据 这就是我已经走了多远 conn array array UID gt sa PWD gt root Da
  • 在选中列表框中创建选中项目的字符串数组

    如何使用 foreach 循环 或任何其他方式 创建一个包含 checklistbox 中选中项目的数组 我无法知道列表中的项目数量 假设您使用 3 5 或更高版本 object items lb CheckedItems OfType T
  • 凿子3.功能模块Mux4

    我正在按照文档学习 Chisel在 Github 上 https github com ucb bar chisel3 wiki Short 20Users 20Guide 20to 20Chisel 到目前为止 一切都完美无缺 但我还是卡
  • 使用 INSERT 和 AUTO-INCREMENT 列的 SQL 语句中出现错误

    INSERT INTO configuration VALUES News Box Character Count NEWS BOX CHAR COUNT 200 Set the number of characters bytes tha
  • 如何实现制表符补全

    我试图弄清楚如何在 C 应用程序中实现子命令的制表符补全 我希望它的功能与 Git 的制表符补全非常相似 我正在浏览 Git 的源代码 但它并没有引起我的注意 我已经搜索了实现选项卡完成的方法 但没有找到直接的答案 因此我猜测它可能不一定是
  • 如何将hashMap转换为Json文件

    我是偏向Java的 我必须使用 rpc 将 Hashmap 传输到服务器 HashMap Map
  • 在给定 sqlite 进度的情况下,在 Android 中存储图像的规范方法

    我完全清楚 通常不建议将图像作为 blob 存储在数据库中 但我最近遇到this https www sqlite org fasterthanfs html网站记录了 sqlite 在向数据库读取和写入图像 blob 方面的性能提升 简而
  • Android 错误:应用程序意外停止,请重试

    我制作了一个运行良好的应用程序 它显示应用程序已启动的次数 这是代码 import android app Activity import android content SharedPreferences import android o
  • “释放未使用的内核内存”从何而来?

    我经常看到Freeing unused kernel memory xxxK from dmesg 但在 grep rg 的帮助下我永远无法从内核源代码中找到此日志 它从何而来 该行文本不作为单个完整字符串存在 因此您无法对其进行 grep
  • 如何在 Android 的 Volley 中创建一个新的 newRequestQueue

    我有一个片段 我尝试实例化一个新的newRequestQueue使用 Volley API 我尝试像这样实例化它 RequestQueue queue Volley newRequestQueue this 但是 当我尝试创建请求时 出现以
  • 完全删除 Angular4 中的测试

    我使用构建了一个非常小的应用程序angular4 我有一个主应用程序组件 两个子组件和一项服务 我觉得我不需要对这么小的应用程序进行测试 并且想删除与使项目更干净相关的所有测试 所以我的问题是我可以从项目中删除哪些与测试相关的文件 我已经删
  • 选择当前聚焦的元素

    我想在整个文档中找到当前关注的元素 我尝试使用 focusjQuery 1 6 引入的伪类 document find focus But document find focus length总是返回0 您应该能够使用activeEleme
  • 这是矫枉过正,还是对 CakePHP 的 HTML 帮助器的良好利用?

    我刚刚重新格式化了 CakePHP 应用程序的默认布局 我通过将几乎所有内容都放在 html 帮助器方法中来消除尽可能多的内联 html 这很有趣 但我想知道我从这次练习中获得了什么好处 如果有的话
  • 将数组的每个对应元素转换为r中的向量

    我有大量数组 希望将所有这些数组中特定位置的所有元素转换为向量 也就是说 如果我有 2 个数组 如下所示 39 1 2 3 4 5 1 0 00000000 0 00000000 0 0000000 0 000000 0 2 0 06703
  • Ruby Timeout::timeout 不会引发异常,也不会返回记录的内容

    我有这段代码 begin complete results Timeout timeout 4 do results platform search artist album name end rescue Timeout Error pu