{ /* some initialization that requires cleanup */ ...; /* some error prone initialization */ ...; if(error1) goto cleanup; ...; if(error2) goto cleanup; ...; /* do stuff ... */ cleanup: /* some long cleanup code */ ...; }