This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author jamesh
Recipients Yury.Selivanov, benjamin.peterson, cvrebert, daniel.urban, eric.araujo, gcbirzan, gvanrossum, jamesh, pitrou
Date 2012-05-12.00:54:20
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1336784068.41.0.623539997579.issue12029@psf.upfronthosting.co.za>
In-reply-to
Content
Benjamin: if you are after a use case for this feature, see  https://code.djangoproject.com/ticket/15901

In Django, there are multiple database backends, each of which currently catch the adapter's DatabaseError and reraise it as Django's DatabaseError so that Django code can handle database errors in a standard way without having to care about which backend they came from.  Unfortunately, this loses some information from the exception.

My idea for solving that bug was to make Django's DatabaseError an ABC.  By registering the various adapter's DatabaseErrors with the ABC, it would not be necessary to catch and reraise them in the backends while still preserving the ability to catch the generic errors in the core.  This works fine in Python 2.x, but it was pointed out that it would cause compatibility problems when porting to Python 3.2.
History
Date User Action Args
2012-05-12 00:54:28jameshsetrecipients: + jamesh, gvanrossum, pitrou, benjamin.peterson, eric.araujo, cvrebert, daniel.urban, Yury.Selivanov, gcbirzan
2012-05-12 00:54:28jameshsetmessageid: <1336784068.41.0.623539997579.issue12029@psf.upfronthosting.co.za>
2012-05-12 00:54:20jameshlinkissue12029 messages
2012-05-12 00:54:20jameshcreate