On Wednesday 31 May 2006 23:28, Oleg Broytmann wrote:
> The problem that I see with the plan is that if SQLObject starts
> catching all exceptions from DB API drivers and translate them to a
> single exception that would mask low-level exceptions and it would be
> hard to monitor what driver raises what exception in what situation;
something like this can be used to know what low level exception was from
what module (say within the MySQL backend):
try:
code
except MySQLdb.IntegrityError, why:
raise some specific integrity sqlobject exception
...
# other specific errors handled here
...
except MySQLdb.Error, why:
# handle all other errors here in a generic way
info = sys.exc_info()
try:
mod = info[0].__module__
exc = info[0].__name__
finally:
del info
raise DatabaseError, "%s.%s: %s" % (mod, exc, str(why))
This will show (at least informational) the original exception module and
name in the string detail of the generic exception.
> logging would be of some help, but we need to add a lot of logging
> information; unfortunately Python does not have "exception chaining".
> The subproblem is that if the single high-level exception solves 60% of
> problems with exceptions nobody would like to work in the area further.
That is true, but in the end do you prefer a solution that covers 60% of
the usage cases out there right now or do you prefer to wait until
someone will implement the perfect 100% complete solution somewhere in
the unknown future? Because 1st option IMO will be better than what we
have right now and someone who needs more can extend it easily.
> Other than that it is a good plan!
>
> Oleg.
--
Dan
-------------------------------------------------------
All the advantages of Linux Managed Hosting--Without the Cost and Risk!
Fully trained technicians. The highest number of Red Hat certifications in
the hosting industry. Fanatical Support. Click to learn more
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=107521&bid=248729&dat=121642
_______________________________________________
sqlobject-discuss mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/sqlobject-discuss