Beman Dawes <[EMAIL PROTECTED]> writes: > At 03:29 PM 1/13/2003, David Abrahams wrote: > > >Remember that it's a bad idea to carry dynamically-allocated state in > >an exception object. > > I wrestled with that a long time with the Filesystem Library, and finally ignored >it. The advice is > good in general, but there just didn't seem to be any way to meet the needs of users >without carrying > several paths (which contain std::strings.)
Then as a last resort you ought to be holding them via shared_ptr. It's critical that the exception object doesn't throw when it's copied. > > Translating to readable strings at the throw point is > >ill-advised. > > Operating systems provide useful information (error descriptions > translated into the local language, for example) which are easy to > supply as readable strings as part of the exception, and hard for > users to supply (because the user code would be non-portable). Thus > the filesystem exceptions supply a nice, ready-to-use, what() > message. You don't need to do that at the throw point. -- David Abrahams [EMAIL PROTECTED] * http://www.boost-consulting.com Boost support, enhancements, training, and commercial distribution _______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost