> > Given that there is lots of existing practice that doesn't meet > > your 'well-defined' standard, it seems that the only option is > > to introduce a separate function. > > The wonderful thing about leaving what() implementation-defined is that it > can be tightened to be well-defined for all standard exception classes > without breaking any code, as any code that depends on particular what() > string is already broken. :-)
Yes I suppose, but I'm certain if I were a library vendor I would be loath to break backward compatibility with the current versions of things when a simple addition would work. > > Of course, typeinfo might > > be another way, but that's broken for cross-platform > > developments :-( > > typeinfo::name() isn't a good general solution, although it's a very good > default. In particular, I'd expect > > char const * errno_exception::what() const throw(); > > to return f.ex. "ENOMEM" and not "errno_exception". Possibly, but it doesn't really matter as long as it is unique, and the same everywhere. Jeff _______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost