在哪里定义Ruby和/或Rails中的自定义错误类型?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (34)

在Ruby库(GEM)或RubyonRails应用程序中是否能定义自定义错误类型?就是这种:

class AuthenticationError < StandardError; end
class InvalidUsername < AuthenticationError; end
提问于
用户回答回答于

Gems

定义为:

module GemName

  class AuthenticationError < StandardError; end
  class InvalidUsername < AuthenticationError; end

end

这方面的一个例子 HttpParty

对于Ruby on Rails

将它们放在lib/文件夹中名为Exctions.rb的文件下,该文件如下所示:

module Exceptions
  class AuthenticationError < StandardError; end
  class InvalidUsername < AuthenticationError; end
end

用户回答回答于

我认为,为了在项目中塞进一个源文件,应该在类中定义错误。

有些继承可能能做到

扫码关注云+社区