
#include <iostream>
using std::cout;
using std::endl;
#include <cstdlib>
using std::malloc;
using std::free;

struct Object {
  Object() { throw 0; }
  void* operator new(size_t s) { cout << "n" << endl; return malloc(s); }
  void operator delete(void* ptr) { cout << "d" << endl; free(ptr); }
};

int main() {
   try { 
     Object* p = new Object;
   } catch(...) { }
}