/* * Author: Patrick-Christopher Mattulat * Company: Lynar Studios * E-Mail: webmaster@lynarstudios.com * Created: 2023-02-22 * Changed: 2024-05-31 * * */ #ifndef LS_STD_EXCEPTION_HPP #define LS_STD_EXCEPTION_HPP #include #include #include #include namespace ls::std::core { ls_std_class Exception : public ::std::exception { public: explicit Exception(::std::string _name); ~Exception() noexcept override = 0; [[nodiscard]] ::std::string getName() const; protected: [[nodiscard]] const char *_getIdentifiedMessage(const ::std::string &_defaultMessage) const; void _setMessage(::std::string_view _message); private: ::std::string message{}; ::std::string name{}; }; } #endif