From: "ko1 (Koichi Sasada)" Date: 2012-12-25T22:33:53+09:00 Subject: [ruby-core:51131] [ruby-trunk - Bug #7622][Closed] Can't grab exceptions at (|c_|b_)return event hooks Issue #7622 has been updated by ko1 (Koichi Sasada). Status changed from Open to Closed r38601 may solve this issue. ---------------------------------------- Bug #7622: Can't grab exceptions at (|c_|b_)return event hooks https://bugs.ruby-lang.org/issues/7622#change-35067 Author: ko1 (Koichi Sasada) Status: Closed Priority: Normal Assignee: ko1 (Koichi Sasada) Category: core Target version: 2.0.0 ruby -v: ruby 2.0.0dev (2012-12-21 trunk 38515) [i386-mswin32_100] The following code raise uncaught error: test.rb:14:in `block in
': FooError (FooError) from test.rb:3:in `m1' from test.rb:7:in `m2' from test.rb:19:in `block in
' from test.rb:17:in `times' from test.rb:17:in `
' But should be caught at line "rescue FooError => e". # code: def m1 raise end def m2 m1 end class FooError < Exception; end TracePoint.trace{|tp| p tp raise FooError if tp.event == :return && tp.method_id == :m1 } 1.times{ begin m2 rescue FooError => e p e end } -- http://bugs.ruby-lang.org/