Throwing Multiple Basic : Throw « Language « C++






Throwing Multiple Basic

  
#include <fstream>
#include <iostream>
#include <vector>
#include <string>
#include <exception>

using namespace std;

void readIntegerFile(const string& fileName, vector<int>& dest)
{
  ifstream istr;
  int temp;

  istr.open(fileName.c_str());
  if (istr.fail()) {
    throw exception();
  }

  while (istr >> temp) {
    dest.push_back(temp);
  }

  if (istr.eof()) {
    istr.close();
  } else {
    istr.close();
    throw exception();
  }
}

int main(int argc, char** argv)
{
  vector<int> myInts;
  const string fileName = "IntegerFile.txt";

  try {
    readIntegerFile(fileName, myInts);
  } catch (const exception& e) {
    cout << "Unable either to open or to read " << fileName << endl;
    exit (1);
  }

  for (size_t i = 0; i < myInts.size(); i++) {
    cout << myInts[i] << " ";
  }
  cout << endl;

  return (0);
}
  
    
  








Related examples in the same category

1.throw an integer out
2.Throw Int out when reading integer file
3.Throw Char Star
4.Throwing Two Types
5.Throwing Exceptions
6.throw different types of exceptions with if statement
7.Throwing Exceptions out of nested function calls
8.throw exception out of function
9.Restricting function throw types.Restricting function throw types.
10.Example of 'rethrowing' an exception.Example of 'rethrowing' an exception.
11.An exception can be thrown from outside the try blockAn exception can be thrown from outside the try block
12.Demonstrating stack unwinding.
13.Demonstration of rethrowing an exception.
14.checks for divide-by-zero and throw exception