"Victor A. Wagner Jr."
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? -- Dave Abrahams Boost Consulting http://www.boost-consulting.com