什么是在rails项目中保留自定义异常定义的传统位置?

时间:2011-01-28 15:17:50

标签: ruby-on-rails ruby exception

制作自己的自定义异常时,例如

class ThingExploded < StandardError; end
class ThingIsMissing < StandardError; end

哪里有保存这些的好地方?我正在考虑 lib / exceptions.rb ...并且还在思考是否更适合以某种方式使它们更接近使用它们的代码。

3 个答案:

答案 0 :(得分:17)

我可能会使用 lib / exceptions / thing_exploded.rb 将每个类保存在一个单独的文件中。

答案 1 :(得分:9)

除非您的例外情况如此严重,否则不应将其从Exception中分类为不合适。

fatalNoMemoryError等异常是Exception的子类,因此,如果您有rescue Exception等代码来处理ThingExplodedThingIsMissing,那么d拯救各种最好的东西。

最好从StandardError继承它们。

答案 2 :(得分:1)

我要去app/models/model_name/exceptions.rb,将它们留在模块中。