This commit is contained in:
Inada Naoki
2018-12-06 19:33:31 +09:00
parent c754b25080
commit a33e1c3836
10 changed files with 585 additions and 599 deletions

View File

@ -13,42 +13,35 @@ except ImportError:
class MySQLError(StandardError): class MySQLError(StandardError):
"""Exception related to operation with MySQL.""" """Exception related to operation with MySQL."""
class Warning(Warning, MySQLError): class Warning(Warning, MySQLError):
"""Exception raised for important warnings like data truncations """Exception raised for important warnings like data truncations
while inserting, etc.""" while inserting, etc."""
class Error(MySQLError): class Error(MySQLError):
"""Exception that is the base class of all other error exceptions """Exception that is the base class of all other error exceptions
(not Warning).""" (not Warning)."""
class InterfaceError(Error): class InterfaceError(Error):
"""Exception raised for errors that are related to the database """Exception raised for errors that are related to the database
interface rather than the database itself.""" interface rather than the database itself."""
class DatabaseError(Error): class DatabaseError(Error):
"""Exception raised for errors that are related to the """Exception raised for errors that are related to the
database.""" database."""
class DataError(DatabaseError): class DataError(DatabaseError):
"""Exception raised for errors that are due to problems with the """Exception raised for errors that are due to problems with the
processed data like division by zero, numeric value out of range, processed data like division by zero, numeric value out of range,
etc.""" etc."""
class OperationalError(DatabaseError): class OperationalError(DatabaseError):
"""Exception raised for errors that are related to the database's """Exception raised for errors that are related to the database's
operation and not necessarily under the control of the programmer, operation and not necessarily under the control of the programmer,
e.g. an unexpected disconnect occurs, the data source name is not e.g. an unexpected disconnect occurs, the data source name is not
@ -57,31 +50,25 @@ class OperationalError(DatabaseError):
class IntegrityError(DatabaseError): class IntegrityError(DatabaseError):
"""Exception raised when the relational integrity of the database """Exception raised when the relational integrity of the database
is affected, e.g. a foreign key check fails, duplicate key, is affected, e.g. a foreign key check fails, duplicate key,
etc.""" etc."""
class InternalError(DatabaseError): class InternalError(DatabaseError):
"""Exception raised when the database encounters an internal """Exception raised when the database encounters an internal
error, e.g. the cursor is not valid anymore, the transaction is error, e.g. the cursor is not valid anymore, the transaction is
out of sync, etc.""" out of sync, etc."""
class ProgrammingError(DatabaseError): class ProgrammingError(DatabaseError):
"""Exception raised for programming errors, e.g. table not found """Exception raised for programming errors, e.g. table not found
or already exists, syntax error in the SQL statement, wrong number or already exists, syntax error in the SQL statement, wrong number
of parameters specified, etc.""" of parameters specified, etc."""
class NotSupportedError(DatabaseError): class NotSupportedError(DatabaseError):
"""Exception raised in case a method or database API was used """Exception raised in case a method or database API was used
which is not supported by the database, e.g. requesting a which is not supported by the database, e.g. requesting a
.rollback() on a connection that does not support transaction or .rollback() on a connection that does not support transaction or
has transactions turned off.""" has transactions turned off."""

View File

@ -47,4 +47,3 @@ def get_config():
if __name__ == "__main__": if __name__ == "__main__":
sys.stderr.write("""You shouldn't be running this directly; it is used by setup.py.""") sys.stderr.write("""You shouldn't be running this directly; it is used by setup.py.""")