升高时检测例外



我想检测到应用程序中任何地方提出某些例外的情况,无论是否在呼叫堆栈上被救出更高,无论将其扔进了什么线程。?

我可能会覆盖内核的加薪方法,但我想知道是否有更好的方法。

尝试覆盖异常类的"初始化"方法。

class MyCustomError < Exception
  alias_method :old_initialize, :initialize
  def initialize
    puts "hello"
    old_initialize
  end
end

发生以下行为:

begin
  puts "test"
  fail MyCustomError
rescue
end

IRB输出:

test
hello
=> nil

相关内容

  • 没有找到相关文章

最新更新