
On 5/2/08, Peter Dimov <pdimov@pdimov.com> wrote:
Neal Becker:
This is (pedantically speaking) a bug in the new throw_exception (it doesn't allow throwing non-class types) that exposes a bug in the serialization library (it throws the invalid_class_name enum value directly instead of constructing an archive_exception from it).
Peter makes another observation, throw_exception() has always required that the type passed to it derives from std::exception, because it allows the boost exceptions to be disabled, in which case the user is expected to supply a definition of throw_exception that takes a std::exception reference. I will change throw_exception to induce a compile error if the passed type does not derive from std::exception. Emil Dotchevski Reverge Studios, Inc. http://www.revergestudios.com/reblog/index.php?n=ReCode