Demonstrating stack unwinding. : Throw « Language « C++






Demonstrating stack unwinding.

  
#include <iostream>
#include <stdexcept>

using std::cout;
using std::endl;


using std::runtime_error;

void function3() throw ( runtime_error )
{
   throw runtime_error( "runtime_error in function3" );
}

void function2() throw ( runtime_error )
{
   function3();
}

void function1() throw ( runtime_error )
{
   function2();
}

int main()
{
   try {
      function1();
   }catch ( runtime_error e ){
      cout << "Exception occurred: " << e.what() << 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 Multiple Basic
6.Throwing Exceptions
7.throw different types of exceptions with if statement
8.Throwing Exceptions out of nested function calls
9.throw exception out of function
10.Restricting function throw types.Restricting function throw types.
11.Example of 'rethrowing' an exception.Example of 'rethrowing' an exception.
12.An exception can be thrown from outside the try blockAn exception can be thrown from outside the try block
13.Demonstration of rethrowing an exception.
14.checks for divide-by-zero and throw exception