6339649: URI.create should include a detail message when throwing IllegalArgumentException

Create enclosing exception with message of enclosed

Reviewed-by: alanb, chegar
This commit is contained in:
Michael McMahon 2010-08-17 14:49:01 +01:00
parent a33a3ae92b
commit 8eca7db307
2 changed files with 15 additions and 3 deletions

View File

@ -856,9 +856,7 @@ public final class URI
try {
return new URI(str);
} catch (URISyntaxException x) {
IllegalArgumentException y = new IllegalArgumentException();
y.initCause(x);
throw y;
throw new IllegalArgumentException(x.getMessage(), x);
}
}

View File

@ -1536,6 +1536,7 @@ public class Test {
serial();
urls();
npes();
bugs();
}
@ -1572,6 +1573,19 @@ public class Test {
}
// miscellaneous bugs/rfes that don't fit in with the test framework
static void bugs() {
// 6339649 - include detail message from nested exception
try {
URI uri = URI.create("http://nowhere.net/should not be permitted");
} catch (IllegalArgumentException e) {
if ("".equals(e.getMessage()) || e.getMessage() == null) {
throw new RuntimeException ("No detail message");
}
}
}
public static void main(String[] args) throws Exception {
switch (args.length) {