#820: raising alternative Exception object in rescue block does not work.
--------------------------------+-------------------------------------------
 Reporter:  cheke...@…          |       Owner:  lsansone...@…        
     Type:  defect              |      Status:  new                  
 Priority:  major               |   Milestone:  MacRuby 0.6          
Component:  MacRuby             |    Keywords:                       
--------------------------------+-------------------------------------------
 When raise an Exception object in rescue block, the rescued object is
 raised.

 {{{
 def mm
    raise RuntimeError, "original"
 end

 def m
    begin
       mm
    rescue RuntimeError
       puts "reached here"
       raise TypeError, "re-raise"
    end
 end

 m
 }}}

 Executed in both 1.9.2-rc2 and macruby-0.6,

 {{{
 $ rvm 1.9.2,macruby test.rb

 info: 1.9.2 (ruby-1.9.2-rc2): ruby 1.9.2dev (2010-07-11 revision 28618)
 [x86_64-darwin10.4.0]

 does catched.
 a.rb:10:in `rescue in m': re-raise (TypeError)
         from a.rb:6:in `m'
         from a.rb:14:in `<main>'

 info: macruby (macruby-0.6): MacRuby version 0.6 (ruby 1.9.0) [universal-
 darwin10.0, x86_64]

 does catched.
 /Users/dche/Desktop/a.rb:2:in `mm': original (RuntimeError)
         from /Users/dche/Desktop/a.rb:7:in `m'
         from /Users/dche/Desktop/a.rb:14:in `<main>'

 }}}

-- 
Ticket URL: <http://www.macruby.org/trac/ticket/820>
MacRuby <http://macruby.org/>

_______________________________________________
MacRuby-devel mailing list
MacRuby-devel@lists.macosforge.org
http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel

Reply via email to