avoid possibly calling rollback() twice
return $copy from try/catch

I didn't correctly understand how try/catch worked previously.