【问题标题】:What is the StandardError brother class in mongoid什么是 mongoid 中的 StandardError 兄弟类
【发布时间】:2018-03-15 12:09:59
【问题描述】:

我想知道Mongoid的StandardError兄弟。

我不知道是否存在!。我在http://www.rubydoc.info/github/mongoid/mongoid/Mongoid/Errors/MongoidError找不到它

【问题讨论】:

  • 什么是兄弟? MongoidErrorStandardError 的子类(子类),似乎所有引发的错误都是 MongoidError 的子类(子类)。从这一行可以看出 "Default parent Mongoid error for all custom errors."

标签: ruby-on-rails ruby activerecord mongoid


【解决方案1】:

Here你可以看到mongoid中所有的错误类。如果你检查它们,你会发现它们都基于Mongoid::Errors::MongoidError。所以我相信这就是 mongoid 中的“StadardError 兄弟”。

另一种找到它的方法是使用方法ancestors 来查看特定类的类层次结构。所以你可以这样做:

begin
  1/0  
rescue StandardError => e  
  puts e.class.ancestors
end

=>ZeroDivisionError
StandardError
Exception
ActiveSupport::Dependencies::Blamable
Object
PP::ObjectMixin
ActiveSupport::Dependencies::Loadable
V8::Conversion::Object
JSON::Ext::Generator::GeneratorMethods::Object
Kernel
BasicObject

这是一个完整的祖先树,您可以从那里获取基本错误类。

【讨论】:

    猜你喜欢
    • 2015-03-13
    • 2014-03-29
    • 1970-01-01
    • 1970-01-01
    • 2015-08-28
    • 2017-08-12
    • 1970-01-01
    • 2012-08-02
    • 2021-09-22
    相关资源
    最近更新 更多