Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

refactor: verify and comment the DB API exceptions #522

Merged
merged 4 commits into from Oct 6, 2020
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
49 changes: 49 additions & 0 deletions google/cloud/spanner_dbapi/exceptions.py
Expand Up @@ -4,42 +4,91 @@
# license that can be found in the LICENSE file or at
# https://developers.google.com/open-source/licenses/bsd

"""Spanner DB API exceptions."""


class Warning(Exception):
"""Important DB API warning."""

pass


class Error(Exception):
"""The base class for all the DB API exceptions.

Does not include :class:`Warning`.
IlyaFaer marked this conversation as resolved.
Show resolved Hide resolved
"""

pass


class InterfaceError(Error):
"""
Error related to the database interface
rather than the database itself.
"""

pass


class DatabaseError(Error):
"""Error related to the database."""

pass


class DataError(DatabaseError):
"""
Error due to problems with the processed data like
division by zero, numeric value out of range, etc.
"""

pass


class OperationalError(DatabaseError):
"""
Error related to the database's operation, e.g. an
unexpected disconnect, the data source name is not
found, a transaction could not be processed, a
memory allocation error, etc.
"""

pass


class IntegrityError(DatabaseError):
"""
Error for cases of relational integrity of the database
is affected, e.g. a foreign key check fails.
"""

pass


class InternalError(DatabaseError):
"""
Internal database error, e.g. the cursor is not valid
anymore, the transaction is out of sync, etc.
"""

pass


class ProgrammingError(DatabaseError):
"""
Programming error, e.g. table not found or already
exists, syntax error in the SQL statement, wrong
number of parameters specified, etc.
"""

pass


class NotSupportedError(DatabaseError):
"""
Error for case of a method or database API not
supported by the database was used.
"""

pass