summaryrefslogtreecommitdiff
path: root/cpp/include/IceUtil/Exception.h
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/include/IceUtil/Exception.h')
-rw-r--r--cpp/include/IceUtil/Exception.h24
1 files changed, 23 insertions, 1 deletions
diff --git a/cpp/include/IceUtil/Exception.h b/cpp/include/IceUtil/Exception.h
index b3dca7824d5..b285bed56c3 100644
--- a/cpp/include/IceUtil/Exception.h
+++ b/cpp/include/IceUtil/Exception.h
@@ -78,9 +78,31 @@ public:
private:
static const char* _name;
- std::string _reason;
+ const std::string _reason;
+};
+
+//
+// IllegalConversionException is raised to report a string conversion error
+//
+class ICE_UTIL_API IllegalConversionException : public Exception
+{
+public:
+
+ IllegalConversionException(const char*, int);
+ IllegalConversionException(const char*, int, const std::string&);
+ virtual std::string ice_name() const;
+ virtual void ice_print(std::ostream&) const;
+ virtual IllegalConversionException* ice_clone() const;
+ virtual void ice_throw() const;
+
+ std::string reason() const;
+private:
+
+ static const char* _name;
+ const std::string _reason;
};
+
class ICE_UTIL_API SyscallException : public Exception
{
public: