gpt4 book ai didi

ruby-on-rails - 拯救 Rails 应用程序中的 LoadError

转载 作者:太空宇宙 更新时间:2023-11-03 16:21:23 27 4
gpt4 key购买 nike

在我的 Rails 3 应用程序中,我通过以下方式获取 path_info:

Rails.application.routes.recognize_path(url, { :method => request.request_method }) rescue {}

如果爬虫命中“http://localhost:3000/admin_”这样的 URL,上面的代码会引发以下错误:

LoadError: Expected /Users/user/myRailsApp/app/controllers/admin_controller.rb to define Admin_Controller
from /Users/user/.rvm/gems/ree-1.8.7-2012.02/gems/activesupport-3.0.20/lib/active_support/dependencies.rb:492:in `load_missing_constant'

我有两个问题:

  1. 为什么 rescue 不起作用?如果我将其更改为 rescue LoadError => e,异常将得到妥善处理。
  2. 除了挽救此类异常,还有其他替代方法吗?

最佳答案

如果您省略异常类型,默认情况下 rescue 将仅救援 StandardError 异常和子类。

LoadError 没有继承自 StandardError:

LoadError.ancestors
=> [LoadError, ScriptError, Exception, Object, Kernel, BasicObject]

因此,单行救援模式不适用于 LoadError

关于ruby-on-rails - 拯救 Rails 应用程序中的 LoadError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32677611/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com