Fix PR506:

* 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
This commit is contained in:
Reid Spencer 2005-02-13 07:34:17 +00:00
parent 4dc534c7fe
commit ef11c5e64d

View File

@ -64,12 +64,14 @@ int main(int argc, char **argv) {
// 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 );