为未处理的异常注册处理程序

Mat*_*tty 4 ruby exception

是否可以为任何未处理的异常定义异常处理程序?将我的整个代码块包装在begin/rescue/end块中会感觉很乱.

Jes*_*llo 10

使用at_exit怎么样?即使发生异常也应该调用它,您可以使用$记录最后一个异常!

这是一个例子:

at_exit {
puts "Last exception: (#{$!.inspect})"
puts "Backtrace: \n#{$@}"
puts "Exiting..."
}

puts "my app..."
raise "Exception!"
Run Code Online (Sandbox Code Playgroud)

http://www.ruby-doc.org/core-1.9.3/Kernel.html#method-i-at_exit