33 lines
667 B
C++
33 lines
667 B
C++
#ifndef QUERY_BUILDER_EXCEPTION_HPP
|
|
#define QUERY_BUILDER_EXCEPTION_HPP
|
|
|
|
#include "matador/utils/error.hpp"
|
|
|
|
#include <cstdint>
|
|
|
|
namespace matador::orm {
|
|
|
|
enum class query_build_error : std::uint8_t {
|
|
Ok = 0,
|
|
UnknownType,
|
|
MissingPrimaryKey,
|
|
UnexpectedError,
|
|
QueryError
|
|
};
|
|
|
|
class query_builder_exception final : public std::exception {
|
|
public:
|
|
explicit query_builder_exception(const query_build_error error, utils::error &&err = {});
|
|
|
|
[[nodiscard]] query_build_error error_type() const;
|
|
[[nodiscard]] const utils::error &error() const;
|
|
|
|
private:
|
|
const query_build_error error_type_;
|
|
utils::error error_;
|
|
};
|
|
|
|
}
|
|
|
|
#endif //QUERY_BUILDER_EXCEPTION_HPP
|