1

これは私が試したものですが、Error: Unknown exception投げられています

try{//load
  std::ifstream stream(arch_name.c_str());
  std::cout << ">> " << "Started deserializing " << arch_name << std::endl;
  boost::archive::binary_iarchive arc(stream);
  arc & c & matrix;
  stream.close();
  std::cout << ">> " << "Finished deserializing" << std::endl;
}catch(std::exception e){
  std::cout << "Error: " << e.what() << std::endl;
  return 1;
}

これは、gcc を使用する Linux でうまく機能しています。WindowsでVisual Studioを使用しています。

編集

basic_binary_iprimitive.hppバックトレースは、例外をスローしていることを示しています

template<class Archive, class Elem, class Tr>
inline void basic_binary_iprimitive<Archive, Elem, Tr>::load_binary( void *address,     std::size_t count){
//.....
if(scount != s)
    boost::serialization::throw_exception(
        archive_exception(archive_exception::input_stream_error)
    );

編集

catch黒をに変更しcatch(boost::archive::archive_exception e)て印刷しました。input stream error

ブースト アーカイブの例外で、virtual what にミスはありますか?

4

1 に答える 1