removing "throws IOException" from method breaks backwards compatibility
------------------------------------------------------------------------

                 Key: ACCUMULO-206
                 URL: https://issues.apache.org/jira/browse/ACCUMULO-206
             Project: Accumulo
          Issue Type: Bug
          Components: client
            Reporter: Adam Fuchs
            Assignee: Billie Rinaldi
            Priority: Blocker


One example of this is the 
org.apache.accumulo.core.client.ScannerBase.setScanIterators method. In version 
1.3.x this has the signature:

{noformat}
public void setScanIterators(int priority, String iteratorClass, String 
iteratorName) throws IOException;
{noformat}

But, in the 1.4 branch it reads:

{noformat}
public void setScanIterators(int priority, String iteratorClass, String 
iteratorName);
{noformat}

Code that compiled against 1.3 and attempts to catch that IOException does not 
compile against 1.4 with this change, giving the following error:

{noformat}
exception java.io.IOException is never thrown in body of corresponding try 
statement
{noformat}

I think we should maintain the previous signature on this method in the 1.4 
release, even if it doesn't throw an exception (especially because it's 
deprecated). We also need to look for any other cases like this and decide what 
to do on a case-by-case basis.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to