From: ko1@... Date: 2019-07-29T07:56:38+00:00 Subject: [ruby-core:93982] [Ruby master Bug#15558] Should Exception#exception copy the backtrace? Issue #15558 has been updated by ko1 (Koichi Sasada). I'm not sure the intention, but Japanese document shows how to use it: ``` # http://rurema.clear-code.com/2.6.0/method/Exception/i/exception.html begin ... # do something rescue => e raise e.exception("an error occurs during hogehoge process") # detailed message end ``` If this method is intended to be raised immediately, the empty backtrace is reasonable. ---------------------------------------- Bug #15558: Should Exception#exception copy the backtrace? https://bugs.ruby-lang.org/issues/15558#change-80175 * Author: Eregon (Benoit Daloze) * Status: Open * Priority: Normal * Assignee: Eregon (Benoit Daloze) * Target version: * ruby -v: ruby 2.6.0p0 (2018-12-25 revision 66547) [x86_64-linux] * Backport: 2.4: UNKNOWN, 2.5: UNKNOWN, 2.6: UNKNOWN ---------------------------------------- Currently it does not on MRI: ``` ruby -e 'begin raise "foo"; rescue => e; c=e.exception "bar"; p c.backtrace; end' nil ``` But it does on JRuby 9.2.5.0 and TruffleRuby 1.0.0-rc11: ``` truffleruby -e 'begin raise "foo"; rescue => e; c=e.exception "bar"; p e.backtrace; end' ["-e:1:in `
'"] ``` This means in some cases, code needs about this difference such as in https://github.com/asciidoctor/asciidoctor/blob/41da20a47a8da96966ef3ec1c2f509e07e7920e3/lib/asciidoctor.rb#L1322-L1338 More context in: https://github.com/oracle/truffleruby/issues/1542#issuecomment-456850066 -- https://bugs.ruby-lang.org/ Unsubscribe: