http://qs1969.pair.com?node_id=342686


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.