6#ifndef ATLASGAMEMANAGER_EXCEPTIONS_HPP
7#define ATLASGAMEMANAGER_EXCEPTIONS_HPP
10#include <source_location>
21 virtual const char*
what() const noexcept
override {
return what_text.c_str(); }
24 const char*
whatRaw() const noexcept {
return std::runtime_error::what(); }
26 AtlasException(
const char*
const msg,
const std::source_location loc = std::source_location::current() ) :
27 std::runtime_error( msg ),
34 AtlasException(
const std::string msg,
const std::source_location loc = std::source_location::current() ) :
41 RecordException(
const char*
const msg,
const std::source_location loc = std::source_location::current() ) :
52 const char*
const msg,
54 const QString version,
55 const std::source_location loc = std::source_location::current() ) :
64 DatabaseException(
const char*
const msg,
const std::source_location loc = std::source_location::current() ) :
68 DatabaseException( std::string msg, std::source_location loc = std::source_location::current() ) :
75 DatabaseRowMismatch(
const char*
const msg,
const std::source_location loc = std::source_location::current() ) :
86 ImportException(
const char*
const msg,
const std::source_location loc = std::source_location::current() ) :
93 NoExecutablesFound( std::filesystem::path folder, std::source_location loc = std::source_location::current() ) :
94 ImportException( format_ns::format(
"No valid executables found for directory: {}", folder ).c_str(), loc )
101 const char*
const m_sql_string,
const std::source_location loc = std::source_location::current() ) :
103 format_ns::format(
"Transaction accessed while invalid: Last executed: {}", m_sql_string ), loc )
109 SettingsException(
const char*
const msg,
const std::source_location loc = std::source_location::current() ) :
std::uint32_t RecordID
Definition Types.hpp:11
Definition exceptions.hpp:15
errorLoc(format_ns::format_string< Ts... >, const std::source_location &, Ts &&... a) -> errorLoc< Ts... >
AtlasException(const std::string msg, const std::source_location loc=std::source_location::current())
Definition exceptions.hpp:34
std::string what_text
Definition exceptions.hpp:19
AtlasException(const char *const msg, const std::source_location loc=std::source_location::current())
Definition exceptions.hpp:26
const char * whatRaw() const noexcept
Returns the what() message without any source location info.
Definition exceptions.hpp:24
std::source_location sloc
Definition exceptions.hpp:18
virtual const char * what() const noexcept override
Definition exceptions.hpp:21
DatabaseException(const char *const msg, const std::source_location loc=std::source_location::current())
Definition exceptions.hpp:64
DatabaseException(std::string msg, std::source_location loc=std::source_location::current())
Definition exceptions.hpp:68
DatabaseRowMismatch(std::string msg, std::source_location loc=std::source_location::current())
Definition exceptions.hpp:79
DatabaseRowMismatch(const char *const msg, const std::source_location loc=std::source_location::current())
Definition exceptions.hpp:75
ImportException(const char *const msg, const std::source_location loc=std::source_location::current())
Definition exceptions.hpp:86
NoExecutablesFound(std::filesystem::path folder, std::source_location loc=std::source_location::current())
Definition exceptions.hpp:93
RecordException(const char *const msg, const std::source_location loc=std::source_location::current())
Definition exceptions.hpp:41
SettingsException(const char *const msg, const std::source_location loc=std::source_location::current())
Definition exceptions.hpp:109
TransactionInvalid(const char *const m_sql_string, const std::source_location loc=std::source_location::current())
Definition exceptions.hpp:100
RecordID m_game_id
Definition exceptions.hpp:48
QString m_version
Definition exceptions.hpp:49
VersionConflict(const char *const msg, const RecordID game_id, const QString version, const std::source_location loc=std::source_location::current())
Definition exceptions.hpp:51