#include #include #include #include int main() { int status = EXIT_FAILURE; int data; std::istringstream source("malformed archive"); // attempting to load data from the archive. an archive_exception of the // "invalid_signature" should occur as described in the documentation : // http://www.boost.org/libs/serialization/doc/exceptions.html // but all that I catch a std::exception in basic_string::resize. try { boost::archive::text_iarchive ia(source); ia >> data; } catch(const boost::archive::archive_exception &e) { std::cerr << "caught boost exception : " << e.what() << std::endl; status = (e.code == boost::archive::archive_exception::invalid_signature) ? EXIT_SUCCESS : EXIT_FAILURE; } catch(const std::exception &e) { std::cerr << "caught exception : " << e.what() << std::endl; } return EXIT_FAILURE; }