在 Ruby 库(gem)或 Ruby on Rails 应用程序中定义自定义错误类型是否有最佳实践?具体来说:
不同的库有不同的工作方式,我还没有注意到任何真正的模式。一些库总是使用自定义错误类型,而另一些库根本不使用它们; 一些库在扩展 StandardError 时出现所有错误,而另一些库具有嵌套的层次结构; 一些库只是空的类定义,其他库有各种聪明的技巧。
哦,正因为我觉得称呼这些“错误类型”有点模棱两可,我的意思是:
class AuthenticationError < StandardError; end
class InvalidUsername < AuthenticationError; end