打破用1.8.7版编写的古老的ruby应用程序通过rescue_action_in_public_with_custom记录所有未处理的异常覆盖rescue_action_in_public。我可以看到错误……
需要考虑的是使用自定义错误类型 -
class ErrorsWithCallerClass < StandardError # or something more appropriate attr_reader :klass def initialize(msg, klass) @klass = klass super(msg) end end
然后使用它
raise ErrorsWithCallerClass.new("bad stuff", Trap)