提交 26c050f5 编写于 作者: N naoto

8198989: Provide more diagnostic IAE messages

Reviewed-by: lancea
上级 a80b7d1c
......@@ -3590,7 +3590,8 @@ class Character implements java.io.Serializable, Comparable<Character> {
*/
public static UnicodeBlock of(int codePoint) {
if (!isValidCodePoint(codePoint)) {
throw new IllegalArgumentException();
throw new IllegalArgumentException(
String.format("Not a valid Unicode code point: 0x%X", codePoint));
}
int top, bottom, current;
......@@ -3649,7 +3650,8 @@ class Character implements java.io.Serializable, Comparable<Character> {
public static final UnicodeBlock forName(String blockName) {
UnicodeBlock block = map.get(blockName.toUpperCase(Locale.US));
if (block == null) {
throw new IllegalArgumentException();
throw new IllegalArgumentException("Not a valid block name: "
+ blockName);
}
return block;
}
......@@ -7394,7 +7396,8 @@ class Character implements java.io.Serializable, Comparable<Character> {
*/
public static UnicodeScript of(int codePoint) {
if (!isValidCodePoint(codePoint))
throw new IllegalArgumentException();
throw new IllegalArgumentException(
String.format("Not a valid Unicode code point: 0x%X", codePoint));
int type = getType(codePoint);
// leave SURROGATE and PRIVATE_USE for table lookup
if (type == UNASSIGNED)
......@@ -8088,7 +8091,8 @@ class Character implements java.io.Serializable, Comparable<Character> {
toSurrogates(codePoint, dst, dstIndex);
return 2;
} else {
throw new IllegalArgumentException();
throw new IllegalArgumentException(
String.format("Not a valid Unicode code point: 0x%X", codePoint));
}
}
......@@ -8116,7 +8120,8 @@ class Character implements java.io.Serializable, Comparable<Character> {
toSurrogates(codePoint, result, 0);
return result;
} else {
throw new IllegalArgumentException();
throw new IllegalArgumentException(
String.format("Not a valid Unicode code point: 0x%X", codePoint));
}
}
......@@ -10178,7 +10183,8 @@ class Character implements java.io.Serializable, Comparable<Character> {
*/
public static String getName(int codePoint) {
if (!isValidCodePoint(codePoint)) {
throw new IllegalArgumentException();
throw new IllegalArgumentException(
String.format("Not a valid Unicode code point: 0x%X", codePoint));
}
String name = CharacterName.getInstance().getName(codePoint);
if (name != null)
......
......@@ -3178,6 +3178,7 @@ public final class String
return new String(StringUTF16.toBytesSupplementary(codePoint), UTF16);
}
throw new IllegalArgumentException("Not a valid Unicode code point");
throw new IllegalArgumentException(
format("Not a valid Unicode code point: 0x%X", codePoint));
}
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册