David Abrahams <[EMAIL PROTECTED]> writes: > 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.
Having looked at filesystem_error, I see that it does not adopt this practice. This is a very serious design error, IMO, which can be easily avoided. Just to clarify, if an exception object's copy constructor throws, the program goes directly to terminate(). -- 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