aboutsummaryrefslogtreecommitdiffstats
path: root/src/libs/sqlite/sqliteexception.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/libs/sqlite/sqliteexception.h')
-rw-r--r--src/libs/sqlite/sqliteexception.h145
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