diff options
Diffstat (limited to 'cpp/include/Ice/Exception.h')
-rw-r--r-- | cpp/include/Ice/Exception.h | 70 |
1 files changed, 56 insertions, 14 deletions
diff --git a/cpp/include/Ice/Exception.h b/cpp/include/Ice/Exception.h index 8c5803b9d24..e2787e33765 100644 --- a/cpp/include/Ice/Exception.h +++ b/cpp/include/Ice/Exception.h @@ -26,14 +26,20 @@ class InputStream; typedef IceUtil::Exception Exception; -// -// Base class for all Ice run-time exceptions -// +/** + * Base class for all Ice run-time exceptions. + * \headerfile Ice/Ice.h + */ class ICE_API LocalException : public IceUtil::Exception { public: - LocalException(const char*, int); + /** + * The file and line number are required for all local exceptions. + * @param file The file name in which the exception was raised, typically __FILE__. + * @param line The line number at which the exception was raised, typically __LINE__. + */ + LocalException(const char* file, int line); #ifdef ICE_CPP11_COMPILER LocalException(const LocalException&) = default; @@ -42,22 +48,35 @@ public: virtual ~LocalException() throw(); #endif + /** + * Polymporphically clones this exception. + * @return A shallow copy of this exception. + */ #ifdef ICE_CPP11_MAPPING std::unique_ptr<LocalException> ice_clone() const; #else virtual LocalException* ice_clone() const = 0; #endif + /** + * Obtains the Slice type ID of this exception. + * @return The fully-scoped type ID. + */ static const std::string& ice_staticId(); }; -// -// Base class for all Ice user exceptions -// +/** + * Base class for all Ice user exceptions. + * \headerfile Ice/Ice.h + */ class ICE_API UserException : public IceUtil::Exception { public: + /** + * Polymporphically clones this exception. + * @return A shallow copy of this exception. + */ #ifdef ICE_CPP11_MAPPING std::unique_ptr<UserException> ice_clone() const; #else @@ -65,30 +84,45 @@ public: #endif virtual Ice::SlicedDataPtr ice_getSlicedData() const; + /** + * Obtains the Slice type ID of this exception. + * @return The fully-scoped type ID. + */ static const std::string& ice_staticId(); + /// \cond STREAM virtual void _write(::Ice::OutputStream*) const; virtual void _read(::Ice::InputStream*); virtual bool _usesClasses() const; + /// \endcond protected: + /// \cond STREAM virtual void _writeImpl(::Ice::OutputStream*) const {} virtual void _readImpl(::Ice::InputStream*) {} + /// \endcond }; -// -// Base class for all Ice system exceptions -// -// System exceptions are currently Ice internal, non-documented -// exceptions. -// +/** + * Base class for all Ice system exceptions. + * + * System exceptions are currently Ice internal, non-documented + * exceptions. + * \headerfile Ice/Ice.h + */ class ICE_API SystemException : public IceUtil::Exception { public: - SystemException(const char*, int); + /** + * The file and line number are required for all local exceptions. + * @param file The file name in which the exception was raised, typically __FILE__. + * @param line The line number at which the exception was raised, typically __LINE__. + */ + SystemException(const char* file, int line); + #ifdef ICE_CPP11_COMPILER SystemException(const SystemException&) = default; virtual ~SystemException(); @@ -96,12 +130,20 @@ public: virtual ~SystemException() throw(); #endif + /** + * Polymporphically clones this exception. + * @return A shallow copy of this exception. + */ #ifdef ICE_CPP11_MAPPING std::unique_ptr<SystemException> ice_clone() const; #else virtual SystemException* ice_clone() const = 0; #endif + /** + * Obtains the Slice type ID of this exception. + * @return The fully-scoped type ID. + */ static const std::string& ice_staticId(); }; |