如何获得引发错误的课程

时间:2018-08-23 12:50:47

标签: ruby-on-rails ruby exception

我有一个错误类别:

module Error
  class Base < StandardError
    def initialize
      binding.pry
    end
  end
end

我从控制器提出了错误:

raise Error::Base

我想获取出现错误的类名或文件名。有什么办法吗?

backtracecausebacktrace_locations返回nil

1 个答案:

答案 0 :(得分:1)

在正在生成异常之前,您正在捕获异常,而实际上并未引发它-这就是为什么它没有完全填充的原因。

如果您确实需要在那里捕获执行,则可以像使用其他任何方法一样,使用caller查看当前堆栈跟踪。除非提出该建议,否则您将不会从该异常中获得太多好处。

相关问题