问题
Is it possible to define an exception handler for any unhandled exceptions? Wrapping my entire code block in a begin/rescue/end block feels messy.
回答1:
How about using at_exit? It should be called even when an exception occurs and you can log the last exception using $!
Here is an example:
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
来源:https://stackoverflow.com/questions/10521559/registering-handler-for-unhandled-exceptions