在这个例子中,我有一些客户端代码,MyModule它在一个名为Exception. 其中MyModule有一个rescue引用Exception. 问题是,当它需要成为核心 Ruby 的基本异常类时,ruby 将名称解析Exception为(模块)。MyModule::Exception这是一个代码插图来说明我的意思:
puts Exception
puts Exception.class
module MyModule
module Exception
class CustomError < StandardError
end
end
end
module MyModule
puts Exception
puts Exception.class
end
结果输出是:
Exception
Class
MyModule::Exception
Module
当没有模块来区分它时,如何强制第二个Exception引用解析为核心 ruby 类?Exception我已经尝试过 Kernel::Exception 并调查是否有一种方法可以将模块放入其中,但似乎只有#name,它会产生类的完全限定名称。