Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical

Re: How to handle Errors?

by matija (Priest)
on Apr 05, 2004 at 16:56 UTC ( #342688=note: print w/replies, xml ) Need Help??

in reply to How to handle Errors?

Error handling in Perl follows the maxim that there is more than one way to do it.

For starters, there is the simple "do or die" syntax known from such "phrases" as

open(....) or die "Could not open ... $!\n";
(there is also a variant a variant called warn which sends the same output to STDERR, but doesn't terminate the program.

Some modules deliver errors in parameters (i.e. returning 0 from a particular subroutine), others die.

Some (like DBI with it's RaiseError/PrintError can do either or both.

There are several modules that install their own handlers for die/warn, the most used is probably CGI::Carp which shows the error messages on the browser screen instead of in the web server's error log.

If you want to handle errors differently, in a java-ish, object oriented way, you might want to check out Error. It implements the try/catch method of error handling.

Log In?

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://342688]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others browsing the Monastery: (4)
As of 2023-02-06 20:45 GMT
Find Nodes?
    Voting Booth?
    I prefer not to run the latest version of Perl because:

    Results (36 votes). Check out past polls.