ActionsLike0
Bug #7622
closedCan't grab exceptions at (|c_|b_)return event hooks
Description
The following code raise uncaught error:
test.rb:14:in block in <main>': 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
}
Updated by ko1 (Koichi Sasada) about 12 years ago
`ensure' is also ignored.
Updated by ko1 (Koichi Sasada) about 12 years ago
- Status changed from Open to Closed
r38601 may solve this issue.
ActionsLike0