Boost logo

Boost :

From: Beman Dawes (beman_at_[hidden])
Date: 2000-07-25 15:40:18


Reid Sweatman wrote:

>I'm gonna admit I'm dumb and ask for clarification here. I understand
the
>issues surrounding empty throw specifications, and the problem with
>exception specifications and inlining. But I'm unclear on whether you
(or
>someone earlier in the thread) are maintaining that non-empty
>specifications
>should *never* be used? Or do you mean only when the function is as
small
>and time-critical as in smart_ptr?

No, I don't think people are saying they should never be used.

If the functions aren't inline and time-critical, and if the maintenance
problems caused when an exception gets added to the list somewhere down the
line are not a worry, then maybe they might make some sense. So non-empty
exception-specs would probably make more sense in application specific code
that in general purpose templates, I guess. But not too huge an app, or
maintenance is a problem.

Others have also commented that exception-specs are like const; use
consistently or not at all. With const there is a clear benefit which far
outweighs the cost. The trade-off is not as clear for
exception-specs. That's probably why you don't seem them used a great
deal.

--Beman


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk