使用raise
或fail
退出Rails应用时,如何防止显示回溯?
尝试使用back_trace_limit
,但它似乎只适用于控制台......?
答案 0 :(得分:1)
通过使用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方法捕获所有错误,将回溯设置为空数组,然后重新引发修改后的异常。