32#ifndef GUARD_SQLITE_DATABASE_EXCEPTION_HPP_INCLUDED
33#define GUARD_SQLITE_DATABASE_EXCEPTION_HPP_INCLUDED
58 message.append(
" [SQL: ");
60 message.push_back(
']');
67 std::string sql_context = std::string()) :
75 std::string
const &
sql()
const {
97 std::string sql_context = std::string()) :
105 std::string
const &
sql()
const {
std::string append_sql_context(std::string message, std::string const &sql)
Helper that appends [SQL: ...] context to an existing message.
Raised when a caller-provided buffer is too small to hold a blob/text payload.
buffer_too_small_exception(std::string const &msg)
Exception that carries the original SQLite error code and optional SQL snippet.
std::string const & sql() const
int const sqlite_error_code_
database_exception_code(std::string const &error_message, int sqlite_error_code, std::string sql_context=std::string())
Generic runtime failure raised for most SQLite errors.
database_exception(std::string const &msg)
Logic-error flavour that also exposes the SQLite status code and SQL string.
int const sqlite_error_code_
database_misuse_exception_code(std::string const &msg, int sqlite_error_code, std::string sql_context=std::string())
std::string const & sql() const
Used for programming errors such as double-closing or using invalidated resources.
database_misuse_exception(std::string const &msg)
Wraps system-level failures (e.g., file I/O) that bubble up from SQLite APIs.
database_system_error(std::string const &msg, int error_code)