catch mutual exclusion; exception cleanup