// Copyright 2007-2012 David Robillard // SPDX-License-Identifier: GPL-3.0-or-later #ifndef RAUL_EXCEPTION_HPP #define RAUL_EXCEPTION_HPP #include #include #include namespace raul { /** An exception (unexpected error). @ingroup raul */ class Exception : public std::exception { public: // NOLINTNEXTLINE(modernize-use-override, hicpp-use-override) [[nodiscard]] const char* what() const noexcept final override { return _what.c_str(); } protected: explicit Exception(std::string what) : _what(std::move(what)) {} private: std::string _what; }; } // namespace raul #endif // RAUL_EXCEPTION_HPP