From: David Abrahams (david.abrahams_at_[hidden])
Date: 2002-01-18 08:14:40
----- Original Message -----
From: "terekhov" <terekhov_at_[hidden]>
> > > Yes, it should; but you should always re-"throw"
> > > unless you're really sure you want to break the
> > > entire world. I think that should ALWAYS be true
> > > for an anonymous catch(...), though. If you don't
> > > know what it is, you can't "finalize" the exception
> > > recovery, and you need to just clean up your own
> > > local context and let someone else further down
> > > handle it.
> > Sometimes there is nobody further down, as we've seen.
> And process terminates and that is GOOD.
Not really. Sometimes, for example at a 'C' API boundary, you simply have to
use catch(...) so you can prevent an exception from crashing your caller.
Tom Becker has already pointed that out. And, as I've pointed out, when
well-used, the type of an exception doesn't tell you much about what's
needed for recovery - only how to report the error - and there are some
processes for which continuing to run is much more important than an
accurate error report.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk