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;
}
|