Good points, thanks- I am an SQL novice really :) I did try wrapping the $sth->execute() call in an eval but it didn't capture the error...
Update: DBI recipes is indeed by gmax
Do not seek to follow in the footsteps of the wise. Seek what they sought. -Basho