From: Reid Sweatman (reids_at_[hidden])
Date: 1999-07-09 16:51:52
> I only get the warning for class member functions; functions outside
> of classes don't generate it. All the docs in MSDN say that exception
> specifications are unsupported. At this point I don't care enough
> to find out what reality is.
Since I do very little outside of classes, except for a core Windows app
that I see no point in encapsulating, nearly all of my throw decorations are
on member functions. In fact, my editor templates decorate *every* member
function except those for which it's illegal or senseless to do so. I also
enable one of the related pragmas, so that may be suppressing the warnings.
I'd have to go back into my editor templates to see which one it is, because
I set it up so long ago I don't remember. But Valentin's messages are
bringing me around to the idea that more of those decorations are senseless
than I had thought (I'll confess to having picked up most of my philosophy
on exception usage from the last two editions of the "C++ FAQs" books, and
they advise always decorating.
I have to admit, I find the suggestion (which Valentin doesn't like) about
macro-ing out empty throw declarations interesting, because it would be one
more debugging tool, if used a bit differently than the proposer intended.
I'd enable the declarations during beta for QA to see if anything threw that
shouldn't, fix the problems, and when they quit happening, macro out the
empty declarations. Tie that to something like /NDEBUG, or a custom flag,
and it should be pretty useful.
Unfortunately, I *have* to care about what MS thinks reality is (there's the
signpost up ahead... <g>), since I have to use their stuff. I did recently
link in the SGI STL, apparently with no problems (give it time... <g>), just
because I needed a couple of their non-standard templates. Under VC++ 5,
though, I find that nothing works right unless every module uses the
standard namespace, which sort of defeats the purpose; using namespace scope
prefixes doesn't work for some reason. One thing: I find SGI code
eminently more readable than MS code (big surprise, huh?), and I don't come
from a Unix background, just use it very occasionally. I actually know more
VMS than Unix (well, I know RPG and APL and IBM 1130 and 360 assembler, too,
so that's what that's worth. Big whoop. <g>). I drew the line at learning
AIX, though <g>. After all, one has to maintain *some* standards <g>.
eGroups.com home: http://www.egroups.com/group/boost
http://www.egroups.com - Simplifying group communications
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk