diff options
Diffstat (limited to 'cpp/include/IceUtil/Exception.h')
-rw-r--r-- | cpp/include/IceUtil/Exception.h | 24 |
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: |