VC只有:
// Example of the try and catch statements
try
{
      // Write the file header
      file.Write((LPSTR)&bmfHdr, sizeof(BITMAPFILEHEADER));
      //
      // Write the DIB header and the bits
      file.WriteHuge(lpBI, dwDIBSize);
}
catch (CFileException* e)
{
      ::GlobalUnlock((HGLOBAL) hDib);
      throw;
}
其实我不觉得delphi的finally有什么作用,也弹出出错信息,
既然我知道可能会出错,
我不如在 except里自己处理或者free后exit还好过,所以我从来不用finally