Restricting function throw types : function and Exception « Exceptions « C++ Tutorial






#include <iostream>
using namespace std;

// only throw ints, chars, and doubles
void f(int val) throw(int, char, double)
{
  if(val==0) 
     throw val;
  if(val==1) 
     throw 'a';
  if(val==2) 
     throw 123.23;
}

int main()
{
  try{
    f(0); // also, try passing 1 and 2 to f()
  }
  catch(int i) {
    cout << "Caught an integer\n";
  }
  catch(char c) { 
    cout << "Caught char\n";
  }
  catch(double d) { 
    cout << "Caught double\n";
  }
  return 0;
}
Caught an integer








6.6.function and Exception
6.6.1.Localize a try/catch to a function
6.6.2.Throwing an exception from a function outside the try block
6.6.3.This function can throw NO exceptions!
6.6.4.Restricting function throw types