Mega Code Archive

 
Categories / C++ / Language
 

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