4

未処理の例外に対して例外ハンドラーを定義することは可能ですか? コード ブロック全体を begin/rescue/end ブロックでラップするのは面倒です。

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 に答える