summaryrefslogtreecommitdiff
path: root/cpp/include/Ice/Exception.h
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/include/Ice/Exception.h')
-rw-r--r--cpp/include/Ice/Exception.h39
1 files changed, 25 insertions, 14 deletions
diff --git a/cpp/include/Ice/Exception.h b/cpp/include/Ice/Exception.h
index b957a91be0c..b2b4720b8ea 100644
--- a/cpp/include/Ice/Exception.h
+++ b/cpp/include/Ice/Exception.h
@@ -17,20 +17,6 @@
#include <Ice/ObjectF.h>
#include <Ice/ValueF.h>
-namespace IceInternal
-{
-
-namespace Ex
-{
-
-ICE_API void throwUOE(const ::std::string&, const ::Ice::ValuePtr&);
-ICE_API void throwMemoryLimitException(const char*, int, size_t, size_t);
-ICE_API void throwMarshalException(const char*, int, const std::string&);
-
-}
-
-}
-
namespace Ice
{
@@ -39,6 +25,9 @@ class InputStream;
typedef IceUtil::Exception Exception;
+//
+// Base class for all Ice run-time exceptions
+//
class ICE_API LocalException : public IceUtil::Exception
{
public:
@@ -60,6 +49,10 @@ public:
static const std::string& ice_staticId();
};
+
+//
+// Base class for all Ice user exceptions
+//
class ICE_API UserException : public IceUtil::Exception
{
public:
@@ -83,6 +76,10 @@ protected:
virtual void __readImpl(::Ice::InputStream*) {};
};
+
+//
+// Base class for all Ice system exceptions
+//
class ICE_API SystemException : public IceUtil::Exception
{
public:
@@ -105,4 +102,18 @@ public:
}
+namespace IceInternal
+{
+
+namespace Ex
+{
+
+ICE_API void throwUOE(const ::std::string&, const ::Ice::ValuePtr&);
+ICE_API void throwMemoryLimitException(const char*, int, size_t, size_t);
+ICE_API void throwMarshalException(const char*, int, const std::string&);
+
+}
+
+}
+
#endif