summaryrefslogtreecommitdiff
path: root/java/src/Ice/Util.java
diff options
context:
space:
mode:
authorMark Spruiell <mes@zeroc.com>2009-12-10 13:41:49 -0800
committerMark Spruiell <mes@zeroc.com>2009-12-10 13:41:49 -0800
commit47bc7e93cb03a077c0eef8a2cc871cead1212c00 (patch)
tree477aa3c5c77a5b458abc19b92c3ca12360c996a5 /java/src/Ice/Util.java
parentSquashed commit of the following: (diff)
downloadice-47bc7e93cb03a077c0eef8a2cc871cead1212c00.tar.bz2
ice-47bc7e93cb03a077c0eef8a2cc871cead1212c00.tar.xz
ice-47bc7e93cb03a077c0eef8a2cc871cead1212c00.zip
bug 4355 - improve parse exception messages
Diffstat (limited to 'java/src/Ice/Util.java')
-rw-r--r--java/src/Ice/Util.java33
1 files changed, 20 insertions, 13 deletions
diff --git a/java/src/Ice/Util.java b/java/src/Ice/Util.java
index dc4253eb627..04ea0dea312 100644
--- a/java/src/Ice/Util.java
+++ b/java/src/Ice/Util.java
@@ -252,7 +252,7 @@ public final class Util
// Extra unescaped slash found.
//
IdentityParseException ex = new IdentityParseException();
- ex.str = s;
+ ex.str = "unescaped backslash in identity `" + s + "'";
throw ex;
}
}
@@ -261,35 +261,42 @@ public final class Util
if(slash == -1)
{
- StringHolder token = new StringHolder();
- if(!IceUtilInternal.StringUtil.unescapeString(s, 0, s.length(), token))
+ ident.category = "";
+ try
+ {
+ ident.name = IceUtilInternal.StringUtil.unescapeString(s, 0, s.length());
+ }
+ catch(IllegalArgumentException e)
{
IdentityParseException ex = new IdentityParseException();
- ex.str = s;
+ ex.str = "invalid identity name `" + s + "': " + e.getMessage();
throw ex;
}
- ident.category = "";
- ident.name = token.value;
}
else
{
- StringHolder token = new StringHolder();
- if(!IceUtilInternal.StringUtil.unescapeString(s, 0, slash, token))
+ try
+ {
+ ident.category = IceUtilInternal.StringUtil.unescapeString(s, 0, slash);
+ }
+ catch(IllegalArgumentException e)
{
IdentityParseException ex = new IdentityParseException();
- ex.str = s;
+ ex.str = "invalid category in identity `" + s + "': " + e.getMessage();
throw ex;
}
- ident.category = token.value;
if(slash + 1 < s.length())
{
- if(!IceUtilInternal.StringUtil.unescapeString(s, slash + 1, s.length(), token))
+ try
+ {
+ ident.name = IceUtilInternal.StringUtil.unescapeString(s, slash + 1, s.length());
+ }
+ catch(IllegalArgumentException e)
{
IdentityParseException ex = new IdentityParseException();
- ex.str = s;
+ ex.str = "invalid name in identity `" + s + "': " + e.getMessage();
throw ex;
}
- ident.name = token.value;
}
else
{