query/include/matador/orm/query_builder_exception.hpp

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