#include<iostream>
using namespace std;

struct X {
  int val;
  X(int i=0):val(i) {cerr<<"constructing "<<val<<"\n";}
  ~X() {cerr<<"destructing "<<val<<endl;}  
};

void f()  {
  X x(1);
  throw 0;
  cout<<"f\n";
};

main(){
  X y(2);
  try {
    X z(3); 
    f();
    cout<<"try\n";
  } 
  catch(double){cout<<"zlapalem double-a\n";}
  //  catch(int){cout<<"zlapalem int-a\n";}
  //catch(...){cout<<"zlapalem cos \n";}

  cout<<"main\n";
}