Module: Narou::Mixin::OutputError
Instance Method Summary collapse
Instance Method Details
#output_error(io, exception) ⇒ Object
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
# File 'lib/mixin/output_error.rb', line 10 def output_error(io, exception) outputter = proc do io.puts "#{$@.shift}: #{exception.} (#{exception.class})" $@.each do |b| io.puts " from #{b}" end end # MEMO: report_on_exception は Ruby 2.4.0 から実装 if Thread.respond_to?(:report_on_exception) && Thread.report_on_exception # report_on_exception が有効な場合は標準出力へのエラー表示はそっちに任せる。 # silence を使うことで、標準出力には表示されないがログには記録される io.silence(&outputter) else outputter.call end end |