6#include <SDL3/SDL_error.h>
7#include "SDL3pp_strings.h"
66 return SDL_SetError(
"%s",
static_cast<const char*
>(message));
103template<
class... ARGS>
104inline bool SetError(std::string_view fmt, ARGS... args)
107 std::vformat(fmt, std::make_format_args(std::forward<ARGS>(args)...)));
157inline const char*
GetError() {
return SDL_GetError(); }
165 std::string m_message;
170 : m_message(SDL_GetError())
176 : m_message(std::move(message))
181 constexpr const char*
what() const noexcept {
return m_message.c_str(); }
186 constexpr const std::string&
str() const noexcept {
return m_message; }
199 if (!result)
throw Error();
213 if (!result)
throw Error();
230 if (result == invalidValue)
throw Error();
246 if (result != validValue)
throw Error();
275#define SDL_Unsupported() SDL_SetError("That operation is not supported")
299#define SDL_InvalidParamError(param) \
300 SDL_SetError("Parameter '%s' is invalid", (param))
An exception that returns GetError()
Definition: SDL3pp_error.h:164
constexpr const char * what() const noexcept
Returns the explanatory string.
Definition: SDL3pp_error.h:181
Error()
Default ctor.
Definition: SDL3pp_error.h:169
Error(std::string message)
Default ctor.
Definition: SDL3pp_error.h:175
constexpr const std::string & str() const noexcept
Returns the explanatory string.
Definition: SDL3pp_error.h:186
Helpers to use C++ strings parameters.
Definition: SDL3pp_strings.h:43
bool SetErrorUnformatted(StringParam message)
Set the SDL error message for the current thread.
Definition: SDL3pp_error.h:64
bool OutOfMemory()
Set an error indicating that memory allocation failed.
Definition: SDL3pp_error.h:121
const char * GetError()
Retrieve a message about the last error that occurred on the current thread.
Definition: SDL3pp_error.h:157
bool ClearError()
Clear any previous error message for this thread.
Definition: SDL3pp_error.h:261
constexpr void CheckErrorIfNot(T result, T validValue)
Check and throw if returned value from SDL is an error.
Definition: SDL3pp_error.h:244
constexpr void CheckError(bool result)
Check and throw if returned value from SDL is an error.
Definition: SDL3pp_error.h:197
bool SetError(std::string_view fmt, ARGS... args)
Set the SDL error message for the current thread.
Definition: SDL3pp_error.h:104
Main include header for the SDL3pp library.