【发布时间】:2011-02-20 08:52:16
【问题描述】:
class ApplicationController < ActionController::Base
class InvalidParam < StandardError;end
end
在应用程序控制器中包含另一个类的原因是什么? 其他控制器的行为是什么?
【问题讨论】:
标签: ruby-on-rails
class ApplicationController < ActionController::Base
class InvalidParam < StandardError;end
end
在应用程序控制器中包含另一个类的原因是什么? 其他控制器的行为是什么?
【问题讨论】:
标签: ruby-on-rails
InvalidParam 和 StandardError 之间没有结构上的差异 - 我敢打赌,开发人员将他/她自己的语义分层到 InvalidParam 上。这很顽皮,因为它只会让读者感到困惑。
代码声明了一个名为 InvalidParam 的嵌套类,用于异常处理。开发人员希望能够使用 InvalidParam 而不是 StandardError 引发和挽救异常 - 很可能是因为他们希望区分系统异常和自己的异常。
【讨论】:
是否可以声明不会在其他任何地方使用的嵌套类?
【讨论】:
在应用程序控制器中包含另一个类的原因是该类仅在控制器内部可见(范围)。其他控制器不会受到影响。
【讨论】: