On Monday 5 December 2005 14.24, Matthias Granberry wrote:

> > Indeed. So show us how to rewrite the following in a clean way with
> > return codes :
> >
> > void writeFile() {
> > writeHeader();
> > writeContent();
> > writeFooter();
> > }

>


> error_t writeFile() {
> error_t err;
> if( (err = writeHeader()) || //this stops processing on the first error
> (err = writeContent()) ||
> (err = writeFooter() ) )
> return err;
> return 0;
> }


PUHLEASE! Ofcourse, the example as well as the proposed solution have
absolutely NOTHING to do with C++. Not to mention the fact I had to use my
airsickness bag when I saw the 'use-return-codes' solution.

> Having said this, exceptions are very useful in situations where the
> problem gets a little deeper or you have a more than a few levels of
> indirection present but as Thiago pointed out earlier they come with a
> price so they should be used with care.


I agree. And I think we should use them, especially if not using them gets in
the way of expressing solutions in C++. And rewriting everything into
functions returning error codes certainly does that.

--
R.F. Pels, 3e Rompert 118, 5233 AL 's-Hertogenbosch, The Netherlands
+31736414590 ruurd@tiscali.nl http://home.tiscali.nl/~ruurd


>> Visit http://mail.kde.org/mailman/listinfo/kde-devel#unsub to unsubscribe <<