diff options
Diffstat (limited to 'src/libs/sqlite/sqliteexception.h')
-rw-r--r-- | src/libs/sqlite/sqliteexception.h | 145 |
1 files changed, 134 insertions, 11 deletions
diff --git a/src/libs/sqlite/sqliteexception.h b/src/libs/sqlite/sqliteexception.h index 8edfd984ef..a46d30d851 100644 --- a/src/libs/sqlite/sqliteexception.h +++ b/src/libs/sqlite/sqliteexception.h @@ -29,17 +29,21 @@ #include <utils/smallstring.h> +#include <exception> +#include <iostream> + namespace Sqlite { -class SQLITE_EXPORT Exception +class SQLITE_EXPORT Exception : public std::exception { public: Exception(const char *whatErrorHasHappen, Utils::SmallString &&sqliteErrorMessage = Utils::SmallString()) - : m_whatErrorHasHappen(whatErrorHasHappen), - m_sqliteErrorMessage(std::move(sqliteErrorMessage)) - { - } + : m_whatErrorHasHappen(whatErrorHasHappen) + , m_sqliteErrorMessage(std::move(sqliteErrorMessage)) + {} + + const char *what() const noexcept override { return m_whatErrorHasHappen; } void printWarning() const; @@ -87,10 +91,10 @@ public: } }; -class IoError : public Exception +class InputOutputError : public Exception { public: - IoError(const char *whatErrorHasHappen) + InputOutputError(const char *whatErrorHasHappen) : Exception(whatErrorHasHappen) { } @@ -115,13 +119,12 @@ public: } }; -class InvalidColumnFetched : public Exception +class ColumnCountDoesNotMatch : public Exception { public: - InvalidColumnFetched(const char *whatErrorHasHappen) + ColumnCountDoesNotMatch(const char *whatErrorHasHappen) : Exception(whatErrorHasHappen) - { - } + {} }; class BindingIndexIsOutOfRange : public Exception @@ -264,4 +267,124 @@ public: } }; +class TooBig : public Exception +{ +public: + TooBig(const char *whatErrorHasHappen, Utils::SmallString &&errorMessage = Utils::SmallString()) + : Exception(whatErrorHasHappen, std::move(errorMessage)) + {} +}; + +class CannotConvert : public Exception +{ +public: + CannotConvert(const char *whatErrorHasHappen) + : Exception(whatErrorHasHappen) + {} +}; + +class ForeignKeyColumnIsNotUnique : public Exception +{ +public: + ForeignKeyColumnIsNotUnique(const char *whatErrorHasHappen) + : Exception(whatErrorHasHappen) + {} +}; + +class CannotApplyChangeSet : public Exception +{ +public: + CannotApplyChangeSet(const char *whatErrorHasHappen) + : Exception(whatErrorHasHappen) + {} +}; + +class ChangeSetIsMisused : public Exception +{ +public: + ChangeSetIsMisused(const char *whatErrorHasHappen) + : Exception(whatErrorHasHappen) + {} +}; + +class SchemeChangeError : public Exception +{ +public: + SchemeChangeError(const char *whatErrorHasHappen, + Utils::SmallString &&errorMessage = Utils::SmallString()) + : Exception(whatErrorHasHappen, std::move(errorMessage)) + {} +}; + +class CannotWriteToReadOnlyConnection : public Exception +{ +public: + CannotWriteToReadOnlyConnection(const char *whatErrorHasHappen, + Utils::SmallString &&errorMessage = Utils::SmallString()) + : Exception(whatErrorHasHappen, std::move(errorMessage)) + {} +}; + +class ProtocolError : public Exception +{ +public: + ProtocolError(const char *whatErrorHasHappen, + Utils::SmallString &&errorMessage = Utils::SmallString()) + : Exception(whatErrorHasHappen, std::move(errorMessage)) + {} +}; + +class DatabaseExceedsMaximumFileSize : public Exception +{ +public: + DatabaseExceedsMaximumFileSize(const char *whatErrorHasHappen, + Utils::SmallString &&errorMessage = Utils::SmallString()) + : Exception(whatErrorHasHappen, std::move(errorMessage)) + {} +}; + +class DataTypeMismatch : public Exception +{ +public: + DataTypeMismatch(const char *whatErrorHasHappen, + Utils::SmallString &&errorMessage = Utils::SmallString()) + : Exception(whatErrorHasHappen, std::move(errorMessage)) + {} +}; + +class ConnectionIsLocked : public Exception +{ +public: + ConnectionIsLocked(const char *whatErrorHasHappen, + Utils::SmallString &&errorMessage = Utils::SmallString()) + : Exception(whatErrorHasHappen, std::move(errorMessage)) + {} +}; + +class ExecutionInterrupted : public Exception +{ +public: + ExecutionInterrupted(const char *whatErrorHasHappen, + Utils::SmallString &&errorMessage = Utils::SmallString()) + : Exception(whatErrorHasHappen, std::move(errorMessage)) + {} +}; + +class DatabaseIsCorrupt : public Exception +{ +public: + DatabaseIsCorrupt(const char *whatErrorHasHappen, + Utils::SmallString &&errorMessage = Utils::SmallString()) + : Exception(whatErrorHasHappen, std::move(errorMessage)) + {} +}; + +class CannotOpen : public Exception +{ +public: + CannotOpen(const char *whatErrorHasHappen, + Utils::SmallString &&errorMessage = Utils::SmallString()) + : Exception(whatErrorHasHappen, std::move(errorMessage)) + {} +}; } // namespace Sqlite |