Re: Exception Misconceptions: Exceptions are better than return values
In article <UKrWm.59706$ky1.54067@newsfe14.iad>, "dragan" <spambuster@prodigy.net> wrote:
You hear this all the time: "Exceptions are better than return values". Or
the variations on that theme. This, of course, is a misconception when
stated as a generality (without context). A major problem attributed to
return values, no guarantee that the programmer will check the return value,
is a language design or implementation issue: the compiler should warn that
a return value is not being checked/assigned/whatever. With compiler return
value checking enforcement, analyses of when to use an exception mechanism
vs. a return code become much more practical/palatable.
Well, to me, it is a fine mix.
With return values, you tend to get a convoluted spagetti code,
basically testing the result from any call, which is a royal waste
of everything.
Basically, when error condition occurs, exceptions work much better
because it does not much matter how deep on the stack some error
has occured. You can catch an exception on several levels deep
and produce some error message or to log things, and then even
rethrow the same or other exception so that higher level code
has a chance to possibly display a different, more general level
error message and decide how to handle the situation.
In plenty of cases the operation can be restarted or continued
from the next item on your processing list if that is possible.
But totally avoiding exceptions is probably the worst idea.
The same thing as totally relying on exception mechanism only.
It is a fine balance. The end result should be the most
robust operation of your code under ANY conditions whatsoever,
short of unplugging the power cable.
It is extremely difficult to write a robust code without
using exceptions.
--
Programmer's Goldmine collections:
http://preciseinfo.org