diff options
Diffstat (limited to 'cpp/include/Ice/ExceptionHelpers.h')
-rw-r--r-- | cpp/include/Ice/ExceptionHelpers.h | 22 |
1 files changed, 4 insertions, 18 deletions
diff --git a/cpp/include/Ice/ExceptionHelpers.h b/cpp/include/Ice/ExceptionHelpers.h index e4dfa076f34..04c37669f07 100644 --- a/cpp/include/Ice/ExceptionHelpers.h +++ b/cpp/include/Ice/ExceptionHelpers.h @@ -20,43 +20,29 @@ namespace Ice class LocalException; -template<typename T, typename B> class LocalExceptionHelper : public B +template<typename T, typename B> class LocalExceptionHelper : public IceUtil::ExceptionHelper<T, B> { public: - using B::B; - - LocalExceptionHelper() = default; + using IceUtil::ExceptionHelper<T, B>::ExceptionHelper; virtual std::string ice_id() const override { return T::ice_staticId(); } - - virtual void ice_throw() const override - { - throw static_cast<const T&>(*this); - } }; -template<typename T, typename B> class UserExceptionHelper : public B +template<typename T, typename B> class UserExceptionHelper : public IceUtil::ExceptionHelper<T, B> { public: - using B::B; - - UserExceptionHelper() = default; + using IceUtil::ExceptionHelper<T, B>::ExceptionHelper; virtual std::string ice_id() const override { return T::ice_staticId(); } - virtual void ice_throw() const override - { - throw static_cast<const T&>(*this); - } - protected: virtual void __writeImpl(Ice::OutputStream* os) const override |