What is the benefit of declaring the possible exception-throws from a C++ function? In other words, what does adding the keyword throw() actually do?
I've read that a function declaration such as void do_something() throw(); should guarantee that no exceptions originate from the do_something() function; however, this doesn't seem to hold true of functions called within do_something(), thus making it a weak guarantee.
Please outline the usefulness (and best-use cases) of this language feature.