123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- #include "exception.h"
- namespace NYT {
- ////////////////////////////////////////////////////////////////////////////////
- TSimpleException::TSimpleException(TString message)
- : Message_(std::move(message))
- { }
- const TString& TSimpleException::GetMessage() const
- {
- return Message_;
- }
- const char* TSimpleException::what() const noexcept
- {
- return Message_.c_str();
- }
- ////////////////////////////////////////////////////////////////////////////////
- TCompositeException::TCompositeException(TString message)
- : TSimpleException(std::move(message))
- , What_(Message_)
- { }
- TCompositeException::TCompositeException(
- const std::exception& exception,
- TString message)
- : TSimpleException(message)
- , InnerException_(std::current_exception())
- , What_(message + "\n" + exception.what())
- { }
- const std::exception_ptr& TCompositeException::GetInnerException() const
- {
- return InnerException_;
- }
- const char* TCompositeException::what() const noexcept
- {
- return What_.c_str();
- }
- ////////////////////////////////////////////////////////////////////////////////
- } // namespace NYT
|