假设我有一个叫某些方法的 gem

      def grit
          @grit ||= Grit::Repo.new(path)
        rescue Grit::NoSuchPathError
          raise NoRepository.new('no repository for such path')
      end

假设现在我从Rails应用程序调用此方法。有没有办法从我的应用程序中获取此NoRepository实例,或者我应该更改此方法以使其返回此实例?

最佳答案

我不确定fetch NoRepository实例的意思。基本上,引用NoRepository实例的方式是通过挽救该错误。

调用grit方法并从NoRepository抢救的代码:

begin
  grit()
rescue NoRepository => nr
  # Here `nr` is the instance of NoRepository
end

关于ruby-on-rails - 从救援/提升错误中获取实例,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20623049/

10-10 15:21