> > 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

Reply via email to