Rescuing multiple java exceptions or multiple java and ruby exceptions doesn't 
catch them
-----------------------------------------------------------------------------------------

                 Key: JRUBY-6146
                 URL: https://jira.codehaus.org/browse/JRUBY-6146
             Project: JRuby
          Issue Type: Bug
          Components: Core Classes/Modules
    Affects Versions: JRuby 1.6.4
         Environment: OS X 10.6.7
            Reporter: Sam Gibson


When rescuing multiple exceptions, if a Java exception is not the first 
exception in the rescue list is won't actually get rescued properly.

E.g. 

require 'java'
java_import 'java.lang.NullPointerException'
java_import 'java.lang.IllegalArgumentException'

# This doesn't catch the java exception...
begin
  raise IllegalArgumentException.new("This won't be caught.")
rescue IOError, IllegalArgumentException => e
  puts "Saved!"
end

# This does catch the ruby exception...
begin
  raise IOError.new("This will be caught.")
rescue IOError, IllegalArgumentException => e
  puts "Saved!"
end

# This does catch the java exception...
begin
  raise IllegalArgumentException.new("This will be caught.")
rescue IllegalArgumentException => e
  puts "Saved!"
end

# When only ruby exceptions are used, it seems to work as expected...
begin
  raise IOError, "keyboard not found, press f1 to continue"
rescue IndexError, IOError => e
  puts "PEBKAC!"
end

# When only java exceptions are used, it still fails...
begin
  raise IllegalArgumentException.new("The Spice Girls are the best band ever")
rescue NullPointerException, IllegalArgumentException => e
  puts "Oh god, fix this bug so that that exception can't be true"
end

# When the raised exception is the first in the rescue list it works properly...
begin
  raise NullPointerException.new("This will be caught.")
rescue NullPointerException, IllegalArgumentException => e
  puts "Saved!"
end

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email


Reply via email to