int main()
{
 int* pi = new int(42);
 try{
  int* err = NULL;
*err = 0;
 }
 catch(...){
  delete pi;
  throw;
 }
 delete pi;
 return 0;
}
たぶんこんなコードにしろっていうんだろうな。
__finallyは使わないのでこんな感じ。異論は認めるが。