问题标签 [rescue]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
803 浏览

ruby-on-rails - 救援不会在 Rails 中救援

我正在编写一个简单的应用程序来处理POSTed CSV 文件并针对无效输入(例如非 CSV 文件)对其进行测试。我正在使用 CSV::Reader.parse 命令在控制器方法中解析 CSV,如下所示:

CSV::IllegalFormatError然而,尽管有救援声明,当输入不正确的提交时,我仍然没有被抓住。我在这里想念什么?

谢谢!

0 投票
1 回答
1801 浏览

ruby-on-rails - Rescue_from 用于 JavaScript 请求

在我的 Rails 2.3.8 应用程序中,我有一个用于异常的 rescue_from 代码,这些异常是在 javascript 操作期间抛出的:

因此,如果 ajax 调用遇到错误,我的用户会收到错误消息。在 Rails 3 中,我不能简单地调用默认错误处理,因为“without_handler”方法不再存在。

更新 doh

我在搜索了 3 个小时后发布了此内容,但发布后仅 30 分钟,我自己就找到了解决方案。

只需重新提出异常。

由于您处于错误处理中,因此不会对此异常进行进一步处理。

0 投票
1 回答
3110 浏览

ruby - Redis Gem (Ruby) 中的 Rescue Timeout::Error

我需要Timeout::Error从 Redis 库中拯救一个 raise,但我遇到了一个问题,拯救那个特定的类似乎不起作用。

当我试图拯救Exception它仍然不起作用

如果我尝试手动引发异常,我可以拯救它,但不知道为什么当它从 Redis Gem (2.2.0) 中调用时我无法拯救它。

任何线索如何挽救这个异常?

0 投票
1 回答
1911 浏览

ruby-on-rails - Rails 未定义常量:ActiveRecord::RecordNotFound

我的应用程序控制器中有以下代码:

当我运行它(实际上我运行rake db:migrate)时,我得到了错误uninitialized constant ActiveRecord::RecordNotFound。这似乎太简单了——帮助!

0 投票
3 回答
1695 浏览

ruby-on-rails-3 - Rspec 误报,因为在正在测试的代码中挽救了失败异常

我有一个我预计会失败的 rspec 测试,但它正在通过,因为它正在测试的代码挽救了 rspec 引发的异常。下面是一个例子:

在 rspec 文件中:

我知道执行已到达“object.save!” 正在测试的方法的行,因此测试应该失败,但测试通过了。在救援块中使用调试器,我发现以下内容:

所以基本上测试失败了,但是失败被它试图测试的代码所抑制。我无法找到一种可行的方法来阻止此代码吞下 Rspec 异常,而不会以某种方式损害代码。我不希望代码显式检查异常是否是 Rspec 异常,因为那是糟糕的设计(应该为代码编写测试,永远不应该为测试编写代码)。但我也无法检查异常是否是我希望它捕获的任何特定类型,因为我希望它能够捕获在正常生产环境中可能引发的任何内容。

一定有人在我之前遇到过这个问题!请帮我找到解决方案。

0 投票
1 回答
987 浏览

ruby-on-rails - 如何测试 Rails rescue_from?

Rails 3 似乎忽略了我的 rescue_from 处理程序,所以我无法在下面测试我的重定向。

在功能测试和集成测试中,都会忽略此 rescue_from,并引发错误:

我怎样才能确保这在测试中被正确“捕获”?

0 投票
2 回答
1281 浏览

ruby-on-rails - Ruby on Rails Facebook Graph API OAuth 错误 #506 重复状态消息

我有一个发布到 Facebook 的 Rails 应用程序。我进行了救援以防止两次发布相同消息的错误。我想让我的应用程序只通知用户并继续前进,但我似乎无法挽救这个错误。

这是我的代码:

我使用此代码得到的错误是:

OAuthException :: (#506) 重复状态消息

0 投票
1 回答
7662 浏览

ruby - Ruby 救援块或类

我似乎在重用相同rescue的 s. 有没有可能有rescue块?所以而不是:

我可以有:

注意breakretryrescue_block动作需要应用于循环,而不是自身。

编辑:

使用 Twitter gem,Twitter 的大部分错误都可以以相同的方式处理(即,如果您达到 API 限制,请稍候。)。完整代码:

0 投票
2 回答
100 浏览

ruby - 当有 nil 用户时如何拯救方法?

有时我有 user.id == nil。当发生这种情况时,我的查找失败。拯救此代码的最实用方法是什么?发生这种情况时您通常会返回什么?

假设一个邮件方法正在使用返回值

0 投票
2 回答
54 浏览

ruby - 是否有更快的方法来确定连续点中哪个对象为零?

代码:

我的解决方案:

除了处理生产异常。我也想在开发阶段更快地找出 nil 对象。

(https://stackoverflow.com/questions/9159032/is-there-a-nicer-way-to-write-this-type-of-nil-check)