135得票5回答
如何在Ruby中使用rescue而不需要begin和end块?

我知道一种标准技术,即使用 begin <some code> rescue <rescue code> end 代码块。 如何仅使用 rescue 代码块? 它是如何工作的,又是如何知道正在监视哪些代码的呢?

125得票3回答
以DRY的方式在Ruby的rescue子句中传递多个错误类

我有一些需要在Ruby中捕获多种类型异常的代码:begin a = rand if a > 0.5 raise FooException else raise BarException end rescue FooException, BarExcepti...

63得票9回答
如何为我的 /sidekiq 路由添加密码保护(即要求对 Sidekiq::Web 工具进行身份验证)?

我在我的Rails应用程序中使用Sidekiq。 默认情况下,只要在URL后面添加“/sidekiq”,任何人都可以访问Sidekiq。 我想对/sidekiq部分进行密码保护/身份验证。我该如何做到这一点?

42得票2回答
如何在Ruby中修复一个eval?

我正在尝试找出如何拯救在 Ruby 1.8.6 中使用 eval() 运行代码时遇到的语法错误。 我希望以下 Ruby 代码可以正常运行:#!/usr/bin/ruby good_str = "(1+1)" bad_str = "(1+1" # syntax error: missin...

25得票2回答
Begin Rescue无法捕获错误

我正在使用一些包含在 begin - rescue 块中的 Ruby 代码,但是它仍然会崩溃。 这个代码块看起来像这样:# Retrieve messages from server def get_messages @connection.select('INBOX') @conn...

23得票2回答
Ruby Oneline Rescue

最近我学到一个技巧,就是在代码的某一行使用rescue,以防这一行出现错误(参见http://www.rubyinside.com/21-ruby-tricks-902.html的第21条)。我有些代码原本是这样的:if obj['key'] && obj['key']['ke...

21得票5回答
如何处理在Ruby中不知道库方法可能会引发哪些异常?

这是一个比较宽泛的问题,但在使用Ruby编程时我经常遇到这种情况。 我主要有C和Java的背景,当我使用库函数或方法时,我会查看文档并了解它在出错时返回什么(通常在C中),或者可以抛出哪些异常(在Java中)。 而在Ruby中,情况似乎完全不同。刚刚我需要解析从服务器接收到的一些JSON:d...

20得票1回答
JavaScript请求中的Rescue_from

在我的Rails 2.3.8应用程序中,我使用了一个rescue_from代码来处理在JavaScript操作期间抛出的异常:rescue_from ::Exception, :with => :show_js_errors ... def show_js_errors except...

17得票4回答
当ID未找到时,在RoR中进行通用救援控制器

我遇到了这样一种情况:我的应用程序在数据库中查找一个不存在的id。抛出了一个异常。当然,对于任何Web开发人员来说,这都是一个非常普遍的情况。 感谢这个答案,我知道使用 rescue 可以很好地处理这种情况,像这样:def show @customer = Customer.find(p...

15得票1回答
嵌套的begin/rescue/ensure语句是否有效?

这对我来说似乎没问题,我找不到任何说明说有问题,但我想要验证一下。 我有一段代码可能会失败,无论因为什么原因,都需要在其后面添加一个确保语句来保护它,然后需要执行一些代码,无论发生了什么。 这似乎需要一个嵌套的begin/ensure块。 是否有效?(这里实际上没有rescue,只有这种类型的...