Mega Code Archive

 
Categories / C++ Tutorial / File Stream
 

Throw exception in function cascading

#include <fstream> #include <iostream> #include <stdexcept> using namespace std; void funcOne() throw(exception); void funcTwo() throw(exception); int main(int argc, char** argv) {   try {     funcOne();   } catch (exception& e) {     cerr << "Exception caught!\n";     exit(1);   }   return (0); } void funcOne() throw(exception) {   string str1;   string* str2 = new string();   try {     funcTwo();   } catch (...) {     delete str2;     throw; // rethrow the exception   }   delete str2; } void funcTwo() throw(exception) {   ifstream istr;   istr.open("filename");   throw exception();   istr.close(); }