4
我有一個例外e
,我想將其改造成一個字符串,它是完全相同作爲對stderr
的標準紅寶石輸出當例外是未捕獲。如何使用回溯紅寶石例外格式化爲一個字符串
最初的代碼給了我不正確的堆棧跟蹤順序,並且縮進不正確。
我沒有寫自己的代碼,而是想看到一些「oneliner」。你怎麼做到這一點?
我有一個例外e
,我想將其改造成一個字符串,它是完全相同作爲對stderr
的標準紅寶石輸出當例外是未捕獲。如何使用回溯紅寶石例外格式化爲一個字符串
最初的代碼給了我不正確的堆棧跟蹤順序,並且縮進不正確。
我沒有寫自己的代碼,而是想看到一些「oneliner」。你怎麼做到這一點?
這將是相同的。
puts "#{[email protected]}: #{$!.message} (#{$!.class})", [email protected](1).map{|s| "\t#{s}"}
或者,使用e
:
puts "#{e.backtrace.first}: #{e.message} (#{e.class})", e.backtrace.drop(1).map{|s| "\t#{s}"}
優秀的內膽,提供了完全相同的輸出。再次感謝:--D – lzap