Re: class for database handling errors
On 10 mai, 11:58, Rahul <sam_...@yahoo.co.in> wrote:
I'm currently developing a class for a database, each object of the
class will establish a connection to the database on a remote server
and and all of this happens on the constructor. So there are cases
when the connection can fail during the initial setup in the
constructor and i was wondering how to send this error to the caller.
Is it a good design to throw exceptions from the constructor? or is
there any other alternative?
Normally, the preferred solution when a constructor cannot
create the object correctly is for it to raise an exception.
This case is, however, a somewhat special case, since you (and
the client code) also has to be prepared to handle the loss of a
connection---this means that you have to be able to deal with an
object without a valid connection. Raising an exception might
still be the correct solution (including raising one if you
detect a missing connection later), but in this case, it doesn't
free you from having to deal with an object which might not have
a valid connection. Regardless of how you notify the client
code, you still have to maintain some sort of internal state as
to whether there is a connection or not, and check it before
each operation (or at least ensure that the operation fails if
there is no valid connection).
James Kanze (GABI Software) email:email@example.com
Conseils en informatique orient=E9e objet/
Beratung in objektorientierter Datenverarbeitung
9 place S=E9mard, 78210 St.-Cyr-l'=C9cole, France, +33 (0)1 30 23 00 34