如何抑制Rails中的回溯?
使用raise
或fail
退出Rails应用程序时,如何防止回溯显示?
尝试使用back_trace_limit
但它似乎只适用于控制台…?
通过使用set_backtrace
方法,您可以完全控制通过exception实例返回的回溯。 例如:
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方法捕获所有错误,将回溯设置为空数组,并重新引发修改后的exception。