[ http://issues.apache.org/jira/browse/HARMONY-23?page=comments#action_12360570 ]
Vladimir Strigun commented on HARMONY-23: ----------------------------------------- The cause of the IllegalArgument exception is creating of URISyntaxException with index = -2. Here is a part of spec for URISyntaxException: "IllegalArgumentException - If the error index is less than -1" So, we need just check if the index variable >=-1 . Fix for the issue is very simple (file URI.java): 326a327 > if(index + e.getIndex() < -1) index = 0; > java.net.URI(String s) for invalid escaped characters throw > IllegalArgumentException > ------------------------------------------------------------------------------------ > > Key: HARMONY-23 > URL: http://issues.apache.org/jira/browse/HARMONY-23 > Project: Harmony > Type: Bug > Components: Classlib > Reporter: Vladimir Strigun > Assignee: Geir Magnusson Jr > Priority: Minor > > When I use URI(String) constructor with invalid escaped characters I get > IllegalArgumentException instead of URISyntaxException. > Small testcase for reproducing this issue: > import java.net.*; > public class URIBug{ > public static void main(String[] args) { > try { > new URI("%3"); > } catch (URISyntaxException e) { > System.out.println("PASSED"); > } catch (Exception e) { > System.out.println("FAILED: illegal exception occured: "+e); > } > } > } -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira