summaryrefslogtreecommitdiff
path: root/cpp/src/Ice/Exception.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/Ice/Exception.cpp')
-rw-r--r--cpp/src/Ice/Exception.cpp24
1 files changed, 21 insertions, 3 deletions
diff --git a/cpp/src/Ice/Exception.cpp b/cpp/src/Ice/Exception.cpp
index d3d1138d4ed..19190a3f413 100644
--- a/cpp/src/Ice/Exception.cpp
+++ b/cpp/src/Ice/Exception.cpp
@@ -10,8 +10,8 @@
#include <Ice/Exception.h>
#include <Ice/LocalException.h>
#include <Ice/Network.h>
-#include <Ice/IdentityUtil.h>
#include <Ice/Plugin.h>
+#include <IceUtil/StringUtil.h>
#include <iomanip>
using namespace std;
@@ -149,13 +149,31 @@ void
Ice::IllegalIdentityException::ice_print(ostream& out) const
{
Exception::ice_print(out);
- out << ":\nillegal identity: `" << id << "'";
+ out << ":\nillegal identity: `";
+ if(id.category.empty())
+ {
+ out << IceUtil::escapeString(id.name, "/");
+ }
+ else
+ {
+ out << IceUtil::escapeString(id.category, "/") << '/' << IceUtil::escapeString(id.name, "/");
+ }
+ out << "'";
}
static void
printFailedRequestData(ostream& out, const RequestFailedException& ex)
{
- out << "\nidentity: " << ex.id;
+ out << ":\nidentity: `";
+ if(ex.id.category.empty())
+ {
+ out << IceUtil::escapeString(ex.id.name, "/");
+ }
+ else
+ {
+ out << IceUtil::escapeString(ex.id.category, "/") << '/' << IceUtil::escapeString(ex.id.name, "/");
+ }
+ out << "'";
out << "\nfacet: " << ex.facet;
out << "\noperation: " << ex.operation;
}