diff options
Diffstat (limited to 'cpp/include/IceUtil/Exception.h')
-rw-r--r-- | cpp/include/IceUtil/Exception.h | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/cpp/include/IceUtil/Exception.h b/cpp/include/IceUtil/Exception.h index 0039364d884..ff1221f6731 100644 --- a/cpp/include/IceUtil/Exception.h +++ b/cpp/include/IceUtil/Exception.h @@ -27,7 +27,7 @@ public: Exception(); Exception(const char*, int); virtual ~Exception(); - virtual std::string ice_name() const; + virtual const std::string& ice_name() const; virtual void ice_print(std::ostream&) const; virtual Exception* ice_clone() const; virtual void ice_throw() const; @@ -38,6 +38,7 @@ private: const char* _file; int _line; + static ::std::string _name; }; ICE_UTIL_API std::ostream& operator<<(std::ostream&, const Exception&); @@ -47,9 +48,13 @@ class ICE_UTIL_API NullHandleException : public Exception public: NullHandleException(const char*, int); - virtual std::string ice_name() const; + virtual const std::string& ice_name() const; virtual Exception* ice_clone() const; virtual void ice_throw() const; + +private: + + static ::std::string _name; }; } |