Catch By Non Const Reference : try catch « Language « C++






Catch By Non Const Reference

  
#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);
  }
}

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

  try {
    readIntegerFile(fileName, myInts);
  } catch (exception& e) {
    cerr << "Unable to open file " << 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.Use multiple catch statements. Use multiple catch statements.
2. Localize a try/catch to a function. Localize a try/catch to a function.
3.Code block of try...catch
4.Catch more than one type of exceptions
5.Catch different types of exception
6.Catch exception from a function
7.Catch char pointer type exception
8.Catch int type exception in a function
9.Catch all types of exceptions
10.Catch By Value
11.Using Multiple catch StatementsUsing Multiple catch Statements
12.Checking for a divide-by-zero exception.
13.Finally catch all Exceptions