IronQuery
A SQL-first query builder for C++
Loading...
Searching...
No Matches
exception.hpp
1#pragma once
2
3#include <stdexcept>
4#include <string>
5
6namespace iron_query {
7
12class LogicError : public std::logic_error {
13public:
15 explicit LogicError(const std::string &what);
16};
17
22class InvalidArgument : public std::invalid_argument {
23public:
25 explicit InvalidArgument(const std::string &what);
26};
27
32public:
34 explicit InvalidIdentifier(const std::string &identifier);
35};
36
40public:
42 explicit InvalidOperator(const std::string &op);
43};
44
49public:
51 explicit InvalidLiteral(const std::string &what);
52};
53
58public:
60 UnknownColumn(const std::string &column, const std::string &table);
61};
62
63} // namespace iron_query
A value or name given to the builder is invalid. Thrown directly for cases with no more specific subc...
Definition exception.hpp:22
InvalidArgument(const std::string &what)
Prepends "iron_query: " to what.
identifier is not a valid (optionally dot-qualified) SQL identifier, or contains an embedded NUL byte...
Definition exception.hpp:31
InvalidIdentifier(const std::string &identifier)
Reports identifier as invalid.
A literal value has no valid SQL rendering (NaN/infinity, a string containing a NUL byte,...
Definition exception.hpp:48
InvalidLiteral(const std::string &what)
Prepends "iron_query: " to what.
op is not a syntactically valid SQL operator name.
Definition exception.hpp:39
InvalidOperator(const std::string &op)
Reports op as invalid.
The builder was used incorrectly: a clause was set twice, a required clause is missing,...
Definition exception.hpp:12
LogicError(const std::string &what)
Prepends "iron_query: " to what.
column was referenced via a TableWithColumns alias that doesn't declare it.
Definition exception.hpp:57
UnknownColumn(const std::string &column, const std::string &table)
Reports column as missing from table.