in reply to Programming style question on where to use die

My answer is no. As long as you do as perlsyn and the books suggest about what situation you should use a die in I think you should be fine putting the die in the subs rather than the main program. Just be sure to give a good error message chock full of info when you die - no matter where it's from.

One neat thing to look at when doing this is the caller function. This will help you spit out some interesting info about the situation when things went wrong. Also remeber to check $! (or $@ for dies from an eval) on the way out when appropriate. I like simple ones =)

"A man's maturity -- consists in having found again the seriousness on +e had as a child, at play." --Nietzsch +e

Replies are listed 'Best First'.
Re: Re: Programming style question on where to use die
by jreades (Friar) on Nov 29, 2000 at 22:29 UTC

    But let's not forget context -- useful error messages are all in the eye of the beholder.

    For instance, if I'm batch processing files then I'd prefer to have the die() so that I can correct the error right away and get back on track. The more information, the better.

    But if I'm a Web site visitor, I'd probably prefer to have the script die gracefully... in fact, I'd rather it gave me a simple message "Unable to complete request at this time, please click here to return to the page you were viewing. And then, of course, a detailed email message should be sent of to the site's programmers informing them of the problem and containing an much debugging information as possible.

    It's all in the difference between programmers and end users, IMO.