From df550874cd546a85074edc35bebeb3cd0530622b Mon Sep 17 00:00:00 2001 From: Yuqian Yang Date: Mon, 8 Sep 2025 00:50:49 +0800 Subject: Make inner exception shared. --- include/cru/base/Exception.h | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) (limited to 'include/cru') diff --git a/include/cru/base/Exception.h b/include/cru/base/Exception.h index 6f0727ce..f42406e0 100644 --- a/include/cru/base/Exception.h +++ b/include/cru/base/Exception.h @@ -12,9 +12,9 @@ namespace cru { class CRU_BASE_API Exception : public std::exception { public: explicit Exception(std::string message = "", - std::unique_ptr inner = nullptr); + std::shared_ptr inner = nullptr); explicit Exception(StringView message, - std::unique_ptr inner = nullptr); + std::shared_ptr inner = nullptr); ~Exception() override; @@ -37,14 +37,17 @@ class CRU_BASE_API Exception : public std::exception { [[deprecated("Use void SetMessage(std::string message) instead.")]] void SetMessage(StringView message); - [[deprecated("Use void AppendMessage(std::string_view additional_message) instead.")]] + [[deprecated( + "Use void AppendMessage(std::string_view additional_message) instead.")]] void AppendMessage(StringView additional_message); - [[deprecated("Use void AppendMessage(std::optional additional_message) instead.")]] + [[deprecated( + "Use void AppendMessage(std::optional " + "additional_message) instead.")]] void AppendMessage(std::optional additional_message); private: std::string message_; - std::unique_ptr inner_; + std::shared_ptr inner_; }; class CRU_BASE_API PlatformException : public Exception { -- cgit v1.2.3