At Tuesday 2004-08-24 09:58, you wrote:
"Victor A. Wagner Jr."
writes: As an example of this std::runtime_error often has a string attribute and this is perfectly fine.
No it is not. Even if you aren't throwing due to memory starvation, you could run out of memory during unwinding, when the exception is copied. That leads you directly to terminate(). Do not pass Go; do not collect $200.
why would unwinding copy the exception?
Because the language specification says it can.
you _can_ paint your face with green and red polka dots also. doesn't mean the rest of us won't or shouldn't ridicule those who do.
Not to put TOO fine a point on it, but the entire raison dêtre of creating a language and libraries is to make is _easy_ for the user to write things.
Well I guess you didn't put a fine enough point on it, because I don't know what your point is. What's your point?
OK, blunt point. the standard is (insert favorite expletive or "in error") if it allows use of std::runtime_error to terminate the program due to low memory situations (run out of memory (due to copying) during stack unwinding).
-- Dave Abrahams Boost Consulting http://www.boost-consulting.com
_______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users
Victor A. Wagner Jr. http://rudbek.com The five most dangerous words in the English language: "There oughta be a law"