raise
またはを使用してRailsアプリを終了するときfail
に、バックトレースが表示されないようにする方法は?
使ってみback_trace_limit
たけど、コンソールでしか使えないようです…?
raise
またはを使用してRailsアプリを終了するときfail
に、バックトレースが表示されないようにする方法は?
使ってみback_trace_limit
たけど、コンソールでしか使えないようです…?
set_backtrace
メソッドを使用して、例外インスタンスで返されるバックトレースを完全に制御できます。例えば:
def strip_backtrace
yield
rescue => err
err.set_backtrace([])
raise err
end
begin
strip_backtrace do
puts 'hello'
raise 'ERROR!'
end
rescue => err
puts "Error message: #{err.message}"
puts "Error backtrace: #{err.backtrace}"
end
出力:
hello
Error message: ERROR!
Error backtrace: []
ここでの strip_backtrace メソッドは、すべてのエラーをキャッチし、バックトレースを空の配列に設定し、変更された例外を再発生させます。