in reply to Re: Can I get the actual error for DBI->execute() ?
in thread Can I get the actual error for DBI->execute() ?

Just a quick note: It might be helpful to use croak() from the Carp module instead of die(). That way, OP would get a backtrace to where the error originated and what the function arguments were.

With die:

#!/usr/bin/env perl use v5.40; do_something(); sub do_something() { broken_function(10); broken_function(17); return true; } sub broken_function($val) { die("Bla") unless($val == 10); }

$ perl dietest.pl Bla at dietest.pl line 14.

With croak:

#!/usr/bin/env perl use v5.40; use Carp qw(croak); do_something(); sub do_something() { broken_function(10); broken_function(17); return true; } sub broken_function($val) { croak("Bla") unless($val == 10); }

$ perl dietest.pl Bla at dietest.pl line 16. main::broken_function(17) called at dietest.pl line 11 main::do_something() called at dietest.pl line 7

So, in your example, that would be:

... use Carp qw(croak); ... sub insertItem { (my $insertCom) = @_; $dbInsert=$db->prepare($insertCom) or die "DBI prepare failed! : $ +sth->err : $sth->errstr"; my $rows_inserted = $dbInsert->execute(); if ( $dbInsert->err ) { croak("DBI ERROR Insert Failed! : $sth->err : $sth->errstr"); } return $rows_inserted; }