http://www.perlmonks.org?node_id=395247


in reply to DBI - get info from statement handles

Unless you turn off PrintError on your $db_handle the DBI will print the errormessage whenever an error occurs.
Adding $db_handle->{ShowErrorStatement} = 1 will add the SQL statement to the error message (with bound paramters added for readability in newer DBIs and DBDs).

There is no need to eval the executes, they won't die unless you have RaiseError set on the db-handle. So it just won't work as you expect. Any errors on the execute phase will go undetected.

My recommendation is to use RaiseError, and add a HandleError for cases when a simple die is not good enough.

janitored by ybiC: Retitle from "ShowErrorStatement" because onewordnodetitles hinder site search