问题标签 [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 投票
2 回答
16579 浏览

ruby - 如何拯救 Ruby 中的 eval?

我试图弄清楚如何挽救eval()在 Ruby 1.8.6 中编写代码时出现的语法错误。

我期望以下 Ruby 代码:

运行时产生以下结果:

相反,我得到的是:

由 eval 方法引发的 SyntaxError 似乎正在 eval 中的某个地方被救出,而我没有机会自己处理它。

任何人都知道如何获得我想要的行为(即,让我的“救援”子句从“评估”中捕获错误)?

0 投票
1 回答
282 浏览

c# - 对于 ASP.NET MVC Rescues View,我们如何添加 ViewData 字段?

我为可能的故障定义了几个 Rescue,但是我无法访问 ViewData 来填充我们需要 masterpage 需要呈现的东西。这是否隐藏在我们可以使用的控制器中?

0 投票
4 回答
2464 浏览

ruby-on-rails - 在 Ruby on Rails 中创建对象时,您更喜欢哪种保存方法,为什么?

在 Ruby on Rails 应用程序中为对象编写“创建”方法时,我使用了两种方法。为了更清晰和更一致的代码,我想使用一种方法。我将在下面列出这两种方法。有谁知道一个比另一个更好吗?如果是这样,为什么?

方法一:

方法二:

0 投票
5 回答
3048 浏览

ruby-on-rails - 运行功能测试时,如何在 Ruby on Rails 应用程序中禁用救援处理程序?

我的 Ruby on Rails 应用程序中有许多控制器,在操作结束时有一个救援处理程序,它基本上捕获任何未处理的错误并返回某种“用户友好”错误。但是,当我进行 rake 测试时,我希望禁用那些默认的救援处理程序,以便我可以看到完整的错误和堆栈跟踪。有没有自动化的方法来做到这一点?

更新澄清:我有这样的行动:

现在,当我对此进行功能测试时,如果引发异常,那么我将获得有关异常的一些信息,但我希望它表现得好像那里没有救援处理程序一样,所以我获取完整的调试信息。

更新:解决方案

我这样做了:

0 投票
5 回答
9397 浏览

ruby - 如何处理不知道 Ruby 中的库方法会引发哪些异常?

这是一个有点宽泛的问题,但它是我在使用 Ruby 编程时不断遇到的问题。我主要来自 C 和 Java 背景,当我使用库函数或方法时,我会查看文档并查看它在错误时返回什么(通常在 C 中)或它可以抛出哪些异常(在 Java 中)。

在 Ruby 中,情况似乎完全不同。刚才我需要解析一些从服务器收到的 JSON:

自然,我写完这段代码后首先想到的是,如果输入不好怎么办?是否parse会在出错时返回 nil,或者引发一些异常,如果是,是哪些?

我检查了文档(http://flori.github.com/json/doc/JSON.html#M000022)并简单地查看:

“将 JSON 字符串源解析为 Ruby 数据结构并返回。”

这只是我在 Ruby 中反复遇到的一个模式示例。最初,我认为这是我正在使用的任何库的文档的一些缺陷,但现在我开始觉得这是标准做法,我的心态与 Ruby 程序员有些不同。有什么我不知道的约定吗?

开发人员如何处理这个问题?

(是的,我确实查看了库方法的代码,并且可以了解引发了哪些异常,但我不能 100% 确定,如果没有记录,我依赖它会感到不舒服。)

编辑:查看前两个答案后,让我继续上面的 JSON 解析示例。

我怀疑我不应该这样做:

因为我可以查看代码/测试并看到它似乎引发了ParserError错误(返回 nil 似乎不是 Ruby 中的标准做法)。我是否正确地说推荐的做法是:

...基于我ParserError通过查看代码和测试所学到的知识?

(我还编辑了示例以澄清它是来自我正在解析的服务器的响应。)

0 投票
3 回答
41842 浏览

ruby-on-rails - 在 Rails 中使用救援

我正在处理以下作品;

现在,无论我是否有正确的 ID,我总是觉得“OK”,我做错了什么?

当我在数据库中没有 ID 以显示“错误”时,我需要它。我也尝试过使用rescue ActiveRecord::RecordNotFound但同样的情况。

感谢所有帮助。

0 投票
2 回答
1244 浏览

ruby-on-rails - 拯救 Nokogiri 错误

我有一个简单的脚本,它查看 Twitter 用户名并获取我的位置。但有些用户名不存在,我收到错误:

我试图拯救它,但我无法让它发挥作用。任何人都可以帮忙吗?谢谢

我还需要帮助来挽救另一个错误:

谢谢。

0 投票
2 回答
18522 浏览

ruby-on-rails - 开始救援没有发现错误

我正在使用一些包装在 begin - rescue 块中的 ruby​​ 代码,但不知何故它仍然崩溃。

代码块如下所示:

鉴于此代码,我假设如果process_messageadd_to_processed_folder无法执行,则救援将启动并调用handle_bogus_message。话虽如此,我在生产环境中运行此代码,有时当我“收到”一封电子邮件(这是从 rake 任务运行的)时,它会因SyntaxError而死。

要查看错误消息,请查看http://pastie.org/1028479 而不是它所指的process_message与上面的process_message相同。有什么理由开始-救援不会捕获这个异常吗?

0 投票
1 回答
788 浏览

c - Ruby c 扩展:如何捕获所有异常,包括非标准错误的异常?

在红宝石中,

不会捕获不是StandardError. 在 C 中,

会做同样的事情。我怎样才能rescue Exception => e从 ruby​​ C 扩展(而不仅仅是rescue => e)?

0 投票
3 回答
1730 浏览

ruby-on-rails - Rails 中的自定义 404 操作

默认 Rails 将呈现 404.html,然后它认为错误 404 是合适的。但是,我想通过自定义页面制作它。请建议正确的方法。