问题标签 [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.
ruby - 包罗万象的救援
在 Ruby/Rails 中,是否有一个“包罗万象”的rescue
语句也允许更具体的rescue
可能性?我试过了
事实证明,即使有URI::InvalidURIError
or SocketError
,它也会进入最后一个rescue
(即它执行do yet another thing
)。我希望它分别是do something
, or do something else
。
ruby-on-rails - 如何将救援添加到简单的 uri 解析方法
我有一个从 URL 上传图像的简单方法。
这在大多数情况下都可以正常工作,但有时会can't convert URI::Generic into String
在 url 未按预期格式化时返回。在这种情况下,我只想放弃保存照片。我需要在方法中添加什么?
我尝试添加
到基于此帖子的方法的末尾,但这会导致 SyntaxError:
如何/在哪里正确使用救援方法?目前,该方法经常按原样工作,所以我很高兴它只是跳过任何未格式化的 url,而不是返回错误。感谢您帮助新手。
ruby-on-rails - nil:NilClass 的未定义方法“first”
有时我会收到这个错误,我只想让 Rails 在错误发生时拯救/跳过错误,而不是完全停止程序。有没有好的方法来做到这一点?
下面是我的代码:
第二行导致此错误:
如果发生这种情况,我只想wikimedia_user
设置为零。我尝试添加.inspect?
到末尾.find
,但我得到的只是错误。有没有办法做到这一点?
ruby-on-rails - 使用 mongoid 捕获所有验证错误
我尝试这样做以从基类中捕获所有验证错误:
似乎不起作用。
也试过这个:
两者都不起作用。
示例场景是我正在使用设计并尝试创建密码小于 6 的用户,因此出现验证错误:
[“密码太短(最少6个字符)”]
有没有办法在控制器范围内捕捉到这一点?基本上我想编写一个代码来捕获所有验证错误。
ruby - 仅在此类中救援 NameError
我有一个 Ruby 脚本,我正在这样做
现在它拯救了这个类中的所有 NameError 异常以及第五行中加载的异常。我怎样才能使它只挽救 MyModule::MyClass 中的异常,而不是在第 5 行初始化的异常?谢谢!
ruby - “rescue Exception => e”中的“=>”有什么作用?
举个例子:
在上面写着:
'=>' 在做什么?
它与这种用法有何不同:
ruby-on-rails - 抢救 DelayedJob 工作人员中的“RecordNotFound”错误
我使用 DelayedJob 在后台处理某些任务。
例如,在我的应用程序中,用户可以“点赞”一条消息,当这种情况发生时,发帖人会收到通知。此通知在后台处理。
有时,可能发生的情况是点赞者决定在通知发出之前撤消他的操作并删除他的“点赞”。在这些情况下,后台代码会遇到“RecordNotFound”错误,因为“like”不再存在。
我以为我是通过挽救错误来处理这种情况的(这里的 self 是 Like):
然而,实际上这似乎并没有挽救错误,因为我仍然在我的日志中看到这样的错误:
任何想法为什么我的救援声明在这种情况下不起作用?
ruby-on-rails - 如何从错误的网址中拯救
我的应用程序中有一个方法可以从提交的链接的 og:image 标记中查找照片。在我的创建操作中,我使用photo_form_url
下面描述的方法。
但是,如果输入了错误的 url,则会产生错误。我试图拯救如下,但这给了我一个“未定义的方法redirect_to”
我究竟做错了什么?
ruby-on-rails - Rails 中的多个救援语句创建不起作用
我正在使用 open-uri 和 seed.db 文件。我正在尝试使用“rake db:seed --trace”运行以下代码:
出于某种原因,每次我运行命令时,它都无法识别我的第二个重定向救援语句,并且我得到以下输出(我缩短了结尾):
知道为什么我的代码没有捕捉到重定向错误吗?任何帮助都非常感谢!