This is defined at STDAFX.h

Code:
#define DELETE_EXCEPTION(e) do { e->Delete(); } while (0)

Can there anyone explain why they need a do-while loop here?