// destroy4.cpp
#include <stdio.h>
void f(char *fname);
main()
{
try
{
f("file1.dat");
}
catch(...)
{
puts("Exception caught in main()");
}
return 0;
}
void f(char *fname)
{
FILE *fp = fopen(fname,"r");
if (fp)
{
try
{
throw 1;
}
catch (...)
{
fclose(fp);
puts("File closed");
throw; // Re-throw
}
fclose(fp); // The normal close
}
}
/* Output:
File closed
Excepion caught in main()
*/
// End of File