Re: returned error code
On Jul 2, 2:45 pm, rpbg...@yahoo.com (Roland Pibinger) wrote:
On Mon, 02 Jul 2007 02:41:45 -0700, James Kanze wrote:
On Jul 2, 9:51 am, iu2 <isra...@elbit.co.il> wrote:
I'm interested in your experience with returned error codes:
What's better, return true/false for success/fail, or return 0 for Ok
and a negative for failure?
This question arose since in my project we use both systems, which led
to a bug of misinterpreting returned code (a function retured 0 for
success but the programmer treated it as false).
Precisely. The same problem exists for true/false: does true
mean success, or failure. If you have to compare with a
symbolic constant, like ok, the problem can't occur.
Naming conventions are helpful in such cases. Functions that start
with is... or has... are supposed to answer a question, e.g.
bool isConnected (DBConnection& dbc);
That's a different issue. I wouldn't say that a function like
"isConnected" failed. It returns status information. (Almost
by definition, a function whose name starts with "is" returns a
bool.) On the other hand, if the function name is
"isConnected", it should almost certainly be const, and not try
to establish a connection (which might fail). And the meaning
of a bool return value of a function named "establishConnection"
is ambiguous.
--
James Kanze (GABI Software) email:james.kanze@gmail.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