我想检测到应用程序中任何地方提出某些例外的情况,无论是否在呼叫堆栈上被救出更高,无论将其扔进了什么线程。?
我可能会覆盖内核的加薪方法,但我想知道是否有更好的方法。
尝试覆盖异常类的"初始化"方法。
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