+1.  OK even without looking at exception string pattern.  For instance, ..

try { add } catch { delete; add; }