Per previous comment, we need to catch all exceptions - any failure on the 2nd insert means the first one needs unwinding