Codereview request 7067045: replaceAll("\u20ac", "$"); causses java.lang.StringIndexOutOfBoundsExceptio

Paul Sandoz paul.sandoz at oracle.com
Tue Apr 17 17:02:23 UTC 2012


Hi Sherman,

Here is an example:

  http://cr.openjdk.java.net/~psandoz/errors-in-matcher/webrev.0/

I am not sure what, if any, are the JDK guidelines for stuffing information in exception messages.

Paul.

On Apr 16, 2012, at 10:24 AM, Paul Sandoz wrote:

> Hi Sherman,
> 
> IMHO it is worth spending a little time getting the exception messages a little more accurate. I have spent too many a time staring at such messages wondering what the heck is going on :-)
> 
> e.g.
> 
> Syntax error parsing replacement string: escaped literal character is missing at the end of the string.
> 
> Syntax error parsing replacement string: group reference is missing at the end of the string.
> 
> 
> Since i am proposing this i will send a patch. It will help me get familiar with the whole OpenJDK process.
> 
> Pau;.
> 
> On Apr 12, 2012, at 10:09 PM, Xueming Shen wrote:
> 
>> Hi
>> 
>> Please help review the change for 7067045.
>> 
>> The change is to throw a more meaningful IAE instead of the StringIndexoutputOfBoundsException
>> if backslash or $ is the last character in the replacement string. (as the API indicated, the backslash
>> and $ character in String's regex replacement and Matcher class have special meanings, backslash
>> is for literal character escape and the $ is the capturing group reference, which needs a group index).
>> 
>> http://cr.openjdk.java.net/~sherman/7067045/webrev/
>> 
>> Thanks,
>> -Sherman
> 




More information about the core-libs-dev mailing list