Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl Monk, Perl Meditation

Re^2: Catching errors.

by Steve_BZ (Chaplain)
on Apr 02, 2013 at 14:12 UTC ( #1026697=note: print w/replies, xml ) Need Help??

in reply to Re: Catching errors.
in thread Catching errors.

I am trying to catch the errors within the perl application using a number of standard routines like this one:

$sth=$dbh->prepare($sql_string) or die_db(...) sub die_db{ # # Send emails. # my $message=shift; my $line_number=shift; print STDOUT $line_number, "\n", $message; my $from = hostname().''; my $msg = "There has been an error at line $line_number. \nThe err +or message is '$message'. "; my $sender = send_email("DB Error at line $line_number", $msg, $fr +om); my $result = $sender->MailMsg({ msg => $sender->{msg}, }) or die "$Mail::Sender::Error\n"; die "DB Error" . DBI->errstr; }


If your application is throwing 'missing perl function errors' then that suggests that you are not testing your code sufficiently.

This is mostly caused by uninitialised objects, like this:

$self->{"calendar_".$n} = Wx::Calendar->new(.....); . . . $self->{calendar_9}->GetValue();
Because $self->{calendar_9} is not created (undefined), GetValue does not exist.

Are you really compiling code on user machines?

By 'compile time', I mean starting the perl interpreter, and the interpreter checks (compiles) all the dependencies and says that such-and-such a module has a syntax error and the code does not even execute.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1026697]
and the fog begins to lift...

How do I use this? | Other CB clients
Other Users?
Others drinking their drinks and smoking their pipes about the Monastery: (15)
As of 2018-06-22 17:58 GMT
Find Nodes?
    Voting Booth?
    Should cpanminus be part of the standard Perl release?

    Results (124 votes). Check out past polls.