From: Motohiro KOSAKI Date: 2012-02-25T02:40:46+09:00 Subject: [ruby-dev:45282] [Ruby 1.8 - Bug #733][Closed] $! = nil in at_exit Issue #733 has been updated by Motohiro KOSAKI. Status changed from Assigned to Closed これ、いまさら1.8系の仕様変えるとかありえないと思うのでcloseしますね。1.9系だとそもそも$!がreadonlyなので1.9に移す話でもなさそう $ ruby-193 -ve 'at_exit { $! = nil }; raise' ruby 1.9.3p105 (2012-02-13) [x86_64-linux] -e:1:in `block in
': $! is a read-only variable (NameError) -e:1:in `
': unhandled exception 認識間違っていたらreopenしてください ---------------------------------------- Bug #733: $! = nil in at_exit https://bugs.ruby-lang.org/issues/733 Author: Yusuke Endoh Status: Closed Priority: Low Assignee: Yukihiro Matsumoto Category: Target version: ruby -v: 1.8,6 & up =begin 遠藤です。 1.8.5 以前では、at_exit の中で $! = nil をすることでスタックトレースの 出力を止めることができました。 $ ruby -ve 'at_exit { $! = nil }; raise' ruby 1.8.5 (2006-08-25) [i486-linux] 1.8.6 以降ではこれができなくなっています。 $ ruby18 -ve 'at_exit { $! = nil }; raise' ruby 1.8.7 (2008-11-08 revision 20151) [i686-linux] -e:1: unhandled exception スタックトレースを自分で整形して表示したいときに、1.8.5 の挙動の方が 便利です。 -- Yusuke ENDOH =end -- http://bugs.ruby-lang.org/