mirror of
https://github.com/django/django.git
synced 2025-08-04 19:08:28 +00:00
Refactored database exceptions wrapping.
Squashed commit of the following: commit 2181d833ed1a2e422494738dcef311164c4e097e Author: Aymeric Augustin <aymeric.augustin@m4x.org> Date: Wed Feb 27 14:28:39 2013 +0100 Fixed #15901 -- Wrapped all PEP-249 exceptions. commit 5476a5d93c19aa2f928c497d39ce6e33f52694e2 Author: Aymeric Augustin <aymeric.augustin@m4x.org> Date: Tue Feb 26 17:26:52 2013 +0100 Added PEP 3134 exception chaining. Thanks Jacob Kaplan-Moss for the suggestion. commit 9365fad0a650328002fb424457d675a273c95802 Author: Aymeric Augustin <aymeric.augustin@m4x.org> Date: Tue Feb 26 17:13:49 2013 +0100 Improved API for wrapping database errors. Thanks Alex Gaynor for the proposal. commit 1b463b765f2826f73a8d9266795cd5da4f8d5e9e Author: Aymeric Augustin <aymeric.augustin@m4x.org> Date: Tue Feb 26 15:00:39 2013 +0100 Removed redundant exception wrapping. This is now taken care of by the cursor wrapper. commit 524bc7345a724bf526bdd2dd1bcf5ede67d6bb5c Author: Aymeric Augustin <aymeric.augustin@m4x.org> Date: Tue Feb 26 14:55:10 2013 +0100 Wrapped database exceptions in the base backend. This covers the most common PEP-249 APIs: - Connection APIs: close(), commit(), rollback(), cursor() - Cursor APIs: callproc(), close(), execute(), executemany(), fetchone(), fetchmany(), fetchall(), nextset(). Fixed #19920. commit a66746bb5f0839f35543222787fce3b6a0d0a3ea Author: Aymeric Augustin <aymeric.augustin@m4x.org> Date: Tue Feb 26 14:53:34 2013 +0100 Added a wrap_database_exception context manager and decorator. It re-throws backend-specific exceptions using Django's common wrappers.
This commit is contained in:
parent
50328f0a61
commit
59a3520875
10 changed files with 147 additions and 100 deletions
|
@ -119,18 +119,28 @@ NoReverseMatch
|
|||
Database Exceptions
|
||||
===================
|
||||
|
||||
Django wraps the standard database exceptions :exc:`DatabaseError` and
|
||||
:exc:`IntegrityError` so that your Django code has a guaranteed common
|
||||
implementation of these classes. These database exceptions are
|
||||
provided in :mod:`django.db`.
|
||||
Django wraps the standard database exceptions so that your Django code has a
|
||||
guaranteed common implementation of these classes. These database exceptions
|
||||
are provided in :mod:`django.db`.
|
||||
|
||||
.. exception:: Error
|
||||
.. exception:: InterfaceError
|
||||
.. exception:: DatabaseError
|
||||
.. exception:: DataError
|
||||
.. exception:: OperationalError
|
||||
.. exception:: IntegrityError
|
||||
.. exception:: InternalError
|
||||
.. exception:: ProgrammingError
|
||||
.. exception:: NotSupportedError
|
||||
|
||||
The Django wrappers for database exceptions behave exactly the same as
|
||||
the underlying database exceptions. See :pep:`249`, the Python Database API
|
||||
Specification v2.0, for further information.
|
||||
|
||||
.. versionchanged:: 1.6
|
||||
Previous version of Django only wrapped ``DatabaseError`` and
|
||||
``IntegrityError``.
|
||||
|
||||
.. exception:: models.ProtectedError
|
||||
|
||||
Raised to prevent deletion of referenced objects when using
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue