簡単な質問です。私はドキュメントでそれを見つけることができません。
標準のbegin ... rescue
を使用する場合、すべてのエラーまたはスタックトレースをレスキューに出力するにはどうすればよいですか?
例えば。:
begin
do x
rescue
puts errors
end
何か案は?
エラーを取得するには、少なくとも2つの方法があります。 1つ目は、グローバル変数$!を使用することです。常に最後に発生したエラーに設定されます。 2つ目は、レスキュー時に明示的にエラーをキャプチャすることです。
begin
# do something that fails...
rescue => error
# error and $! are equivalent here
end
いずれかを使用すると、次のいずれかを使用してバックトレースを検査または印刷できます。
$!.backtrace # => array of backtrace steps
error.backtrace # => same error