Beefy Boxes and Bandwidth Generously Provided by pair Networks
Don't ask to ask, just ask

Re: How to handle Errors?

by McMahon (Chaplain)
on Apr 05, 2004 at 16:49 UTC ( #342686=note: print w/replies, xml ) Need Help??

in reply to How to handle Errors?

Good for you for thinking ahead! (I test software for a living, we appreciate people who write good error handling.)

The sort-of-classical way to to do this is:

Make sure each subroutine (or object) returns a particular code depending on whether it completed properly or had a particular error.
Check the completion code in the main body of the program as each sub or object completes its work. If it is an error code, call the error-handling sub or object.
In the error-handling routine, re-use as many error codes as possible: for instance, error 42 could be "file $var not found". The error handling code would report "file critical.file not found in subroutine foo." or something like that.

Note that I believe Perl will do a lot of this for you, if you check for exceptions at sane places in the code.

If you get a first pass at error-handling, I'd like to encourage you to post it here, because I'd like to see what you come up with.

Log In?

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

How do I use this? | Other CB clients
Other Users?
Others having an uproarious good time at the Monastery: (7)
As of 2023-02-05 14:57 GMT
Find Nodes?
    Voting Booth?
    I prefer not to run the latest version of Perl because:

    Results (31 votes). Check out past polls.