4

是否可以为任何未处理的异常定义异常处理程序?将我的整个代码块包装在开始/救援/结束块中感觉很混乱。

4

1 回答 1

10

使用 at_exit 怎么样?即使发生异常也应该调用它,并且您可以使用 $!

这是一个例子:

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

puts "my app..."
raise "Exception!"

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

于 2012-05-10T14:17:50.410 回答