* Use error returned from Archive::OpenAndLoad
* Make sure only std::string is thrown so it gets caught and printed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20147
91177308-0d34-0410-b5e6-
96231b3b80d8
// Make sure it exists, we don't create empty archives
if (!ArchivePath.exists())
- throw "Archive file does not exist";
+ throw std::string("Archive file does not exist");
- std::auto_ptr<Archive> AutoArchive(Archive::OpenAndLoad(ArchivePath));
+ std::string err_msg;
+ std::auto_ptr<Archive>
+ AutoArchive(Archive::OpenAndLoad(ArchivePath,&err_msg));
Archive* TheArchive = AutoArchive.get();
-
- assert(TheArchive && "Unable to instantiate the archive");
+ if (!TheArchive)
+ throw err_msg;
TheArchive->writeToDisk(true, false, false );